[Rcpp-devel] Compiling issue about Rcpp

Dirk Eddelbuettel edd at debian.org
Sat Apr 19 01:57:40 CEST 2014


On 18 April 2014 at 16:16, Ian Fellows wrote:
| I may have been the reason that the issue arose as my blog post on Rcpp + RInside + Eclipse listed both /include and /include/Rcpp as header directories. I can’t remember if this was needed at some point in history or if I just thought I’d be thorough  making sure I didn’t miss any headers.

I actually saw that blog post (as I believe you posted about it here). I
don't use Eclipse myself but thought it was a pretty good resource.

But yes, we then both overlooked that adding   /include/Rcpp   is actually
asking for trouble.  Users should only ever include   Rcpp.h   and everything
else is relative to Rcpp.h and hence save from clashes.
 
| Regardless, it isn’t needed anymore. I’ve edited the blog post (which people still look at quite often) to remove it. I have also edited it to remove references to libRcpp.a as Rcpp is header only now.

Indeed! So thanks for that update too.

Dirk

 
| http://blog.fellstat.com/?p=170
| 
| Best,
| Ian
| 
| 
| 
| On Apr 18, 2014, at 9:37 AM, Dirk Eddelbuettel <edd at debian.org> wrote:
| 
| > 
| > On 18 April 2014 at 09:12, Ian Fellows wrote:
| > | Looks like the same problem described here in http://stackoverflow.com/questions/15489065/rcppeclipse-on-mac-os-x/15532241#15532241 due to Rcpp having a file named string.h which can conflict with std.
| > | 
| > | Perhaps try using the -idirafter directive?
| > 
| > That issue is new to me (I missed that answer in the SO thread) and thinking
| > about it for two seconds makes me think it is a non-issue:
| > 
| > -  the file is actually called String.h (so you need a case-insensitive OS
| >    for it to clash with string.h)
| > 
| > -  it is included only as #include <Rcpp/String.h> ie via the Rcpp/ directory
| > 
| > -  but in order to get it you would have to have this
| > 
| >       ${RcppPackageTopLevel}/include/Rcpp   
| > 
| >    added to the include path (via -I or an settings somewhere) instead of
| >    the normal
| > 
| >       ${RcppPackageTopLevel}/include/
| > 
| > So I guess this bites you only if you're on a case-insenstive operating
| > system AND you also chose to add the include/Rcpp dir to the include path.
| > 
| > And removing the include/Rcpp from the include path (where it wasn't needed)
| > should fix it, no?  
| > 
| > Dirk
| > 
| > -- 
| > Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
| 

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com


More information about the Rcpp-devel mailing list