在使用Xcode 5.0和Rcpp时出现错误(已安装命令行工具)。
在使用Xcode 5.0和Rcpp时出现错误(已安装命令行工具)。
我有一台新的iMac,并且正在尝试使用Rcpp库运行代码,这个库在我的旧iMac和Macbook Pro上都没有问题。我尝试了所有的方法,但似乎找不到问题所在。
我已经下载了Xcode 5.0,并安装了命令行工具。R3.0.2已经安装好了。
我下载了一个gcc编译器。在终端输入gcc时,出现了"clang:",这应该是好的。
下面是我遇到的错误。提前感谢你们的任何想法和建议。
Error (在R控制台中): llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include" -fPIC -mtune=core2 -g -O2 -c SBM-Ccode.cpp -o SBM-Ccode.o Error in sourceCpp("SBM-Ccode.cpp") : Error 1 occurred building shared library. WARNING: The tools required to build C++ code for R were not found. Please install Command Line Tools for XCode (or equivalent). /bin/sh: llvm-g++-4.2: command not found make: *** [SBM-Ccode.o] Error 127
最近在使用Xcode 5.0和Rcpp时遇到了一个错误,错误信息提示缺少命令行工具(Command Line Tools)。以下是我遇到的错误以及解决方法。
首先,我不确定你所说的“我下载了一个gcc编译器”是什么意思。你不需要下载自己的gcc编译器。你可以使用默认的编译器,或者在你的~/.R/Makevars
文件中添加以下内容来使用clang++编译器:
CC=clang
CXX=clang++
CXXFLAGS= -O3 -pedantic
当我尝试使用devtools::has_devel
时,会出现以下情况:
> require(devtools) > has_devel() '/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD SHLIB foo.c clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -fPIC -mtune=core2 -g -O2 -c foo.c -o foo.o clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -L/usr/local/lib -o foo.so foo.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation [1] TRUE
或者使用Rcpp::evalCpp
时:
> require(Rcpp) > evalCpp( "1+1") [1] 2
当我执行第一个命令时,出现了以下错误:'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD SHLIB foo.c llvm-gcc-4.2 -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -fPIC -mtune=core2 -g -O2 -c foo.c -o foo.o make: llvm-gcc-4.2: No such file or directory make: *** [foo.o] Error 1 Error: Command failed (1)
当我执行第二个命令时,出现了和之前一样的错误。llvm-g++-4.2 -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include" -fPIC -mtune=core2 -g -O2 -c file1818236400cd.cpp -o file1818236400cd.o
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput, : Error 1 occurred building shared library. WARNING: The tools required to build C++ code for R were not found. Please install Command Line Tools for XCode (or equivalent). /bin/sh: llvm-g++-4.2: command not found make: *** [file1818236400cd.o] Error 127
你是否重启了R会话?这应该对你有用;之前仍然在搜索llvm-g++-4.2
是很奇怪的。事实上,clang
现在是XCode 5.0中唯一的编译器,所以llvm-g++-4.2
已经不可用了。这解释了之前的错误信息有些奇怪。
谢谢大家的帮助!我重新启动了,现在一切正常了。非常感谢。