问题
I'm just trying to get Rcpp up and running on my Mac, but am struggling. I've installed the Command Line Tools. I've installed the Rcpp and inline packages. I try to run the following script in R, and get the following error.
fx <- cxxfunction(signature( x = "numeric" ),
'NumericVector xx(x);
return wrap( std::accumulate( xx.begin(), xx.end(), 0.0));',
plugin = "Rcpp",verbose=TRUE)
Error in compileCode(f, code, language = language, verbose = verbose) :
Compilation ERROR, function(s)/method(s) not created! /bin/sh: llvm-g++-4.2: command not found
make: *** [file2e731b1c0ff8.o] Error 127
I realize this is very similar to a posted question. But I'd appreciate a reference to more details on where to find the makevars file.
Thanks.
回答1:
As I alluded to in this previous answer, you must correct the values hard-coded in the R binary provided by CRAN which was built with the old XCode which still had the g++-based compiler. You have (at least) three choices:
Edit
etc/Makeconf
(below R's install directory) directly to correctCC
andCXX
toclang
andclang++
.Alternatively, create or edit
~/.R/Makevars
similarly.Create environment variables
CC
andCXX
with these loadings.
The long and short of it is that CC
and CXX
have hard-coded values from R's compile-time which no longer correspond the values on your system (using XCode 5). Eventually, R will catch up and this adjustment will be unnecessary.
The R Installation and Administration manual has more to say about which variables and which values you should use on a given architecture.
回答2:
Since g++ is no longer included in Xcode 5, you will have to re-direct the pointers to clang. Based on @Romain Francois' answer from Error when with Xcode 5.0 and Rcpp (Command Line Tools ARE installed), you will have to create your own Makevars file in the ~/.R/ directory. Example content of Makevars would contain:
CC=clang
CXX=clang++
CFLAGS="-mtune=native -g -O2 -Wall -pedantic -Wconversion"
CXXFLAGS="-mtune=native -g -O2 -Wall -pedantic -Wconversion"
FLIBS=-lgfortran
来源:https://stackoverflow.com/questions/19546672/rcpp-error-with-xcode-5-0-and-osx-10-8-5-and-r-3-0-2