<font face="arial,helvetica,sans-serif">Hi Greg,</font><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">While sourceCpp does parsing of the translation unit to discover exported functions, it's not a full-on C++ parser (that would require a huge effort and/or taking on a large dependency like libclang or gccxml). In any case, in our parser we try to be as semantically sophisticated as we can but as you discovered we don't get everything. For your case, we do however respect block-level comments so you could temporarily exclude a part of the translation unit using /* */.</font></div>
<div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">J.J.<br></font><div><br><div class="gmail_quote">On Sun, Feb 24, 2013 at 11:35 AM, Greg Minshall <span dir="ltr"><<a href="mailto:minshall@umich.edu" target="_blank">minshall@umich.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hi.  first, i should mention that i think Rcpp is amazing!  i'm enjoying<br>
the learning process, and it speeds up my formerly-R code greatly.<br>
(some trivial image processing thing that i was only doing in R in order<br>
to combine two learning activities into one.)<br>
<br>
but... ;-)<br>
<br>
if i sourceCpp() the following code:<br>
----<br>
#include <Rcpp.h><br>
<br>
#if 0<br>
// [[Rcpp::export]]<br>
int foo() {<br>
    return 3;<br>
}<br>
#endif /* 0 */<br>
----<br>
i get this set of error messages<br>
----<br>
> sourceCpp("foo.cc")<br>
foo.cc: In function 'SEXPREC* sourceCpp_15583_foo()':<br>
foo.cc:16: error: 'foo' was not declared in this scope<br>
make: *** [foo.o] Error 1<br>
flag-sort -r g++ -I/sw/Library/Frameworks/R.framework/Versions/2.15/Resources/include -DNDEBUG  -I/sw/include  -I"/Users/minshall/Library/R/2.15/library/Rcpp/include"   -fPIC  -g -O2  -c foo.cc -o foo.o<br>
Error in sourceCpp("foo.cc") : Error 1 occurred building shared library.<br>
----<br>
<br>
btw, thanks for pointing me at "verbose=TRUE" in sourceCpp().  i was<br>
wondering how to get something like "g++ -E".  (and, it shows me what's<br>
going on under the hood in this case.)<br>
<br>
cheers!<br>
_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br>
</blockquote></div><br></div></div>