Is it possible that there is some kind of incompatibility among clang, libc++ and Rcpp? Consider this super-simple example (filename is tr1.cpp):
#include <Rcpp.h> RcppExport SEXP testtr1() { return(Rcpp::wrap(0)); } If I compile it as a dynamic library with clang, I get: clang -O3 -m64 -msse4.2 -std=c++11 -stdlib=libc++ -I/Library/Frameworks/R.framework/Headers -I/Library/Frameworks/R.framework/Resources/library/Rcpp/include -c tr1.cpp -o tr1.o In file included from tr1.cpp:1: In file included from /Library/Frameworks/R.framework/Resources/library/Rcpp/include/Rcpp.h:27: /Library/Frameworks/R.framework/Resources/library/Rcpp/include/RcppCommon.h:143:10: fatal error: 'tr1/unordered_map' file not found #include <tr1/unordered_map> ^ 1 error generated. This works fine with the Intel compiler, as well as with gcc version 4.6.1. Looking at RcppCommon.h, I see that there are a number of checks, including the definition of HAS_TR!_UNORDERED_MAP. Is it possible that this code defines this macro for clang, when it shouldn't? The version of clang I am using is: Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.1.0 Thread model: posix Rcpp is version 0.9.13. My OS is Mac OSX 10.8.1, and I have installed XCode 4.4.1, with the latest command line tools. I see that this issue has been brought up in the past, but I have not been able to find a resolution. Since clang appears to be Apple's preferred compiler in XCode, I thought you might like to know about this, and perhaps let me know if I have made some kind of mistake. Thanks, ----------------------------------------------- Michael Braun Associate Professor of Marketing MIT Sloan School of Management 617-253-3436 bra...@mit.edu http://braunm.scripts.mit.edu/
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel