我遇到了Rcpp的简单设置问题,我无法让它工作。我试着效仿这个例子http://www.r-bloggers.com/user2013-the-rcpp-tutorial/ 但是在执行此代码时:
library(Rcpp)
evalCpp("1 + 1", showOutput= TRUE)
我得到了这个输出
C:/R/R-30~1.1/bin/x64/R CMD SHLIB -o "sourceCpp_33280.dll" "file8d01b0a675b.cpp"
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput, :
Error 1 occurred building shared library.
WARNING: Rtools is required to build R packages but is not currently installed.
Please download and install the appropriate version of Rtools before proceeding:
为了使它成功,我做了以下事情:
大多数类似的问题似乎表明文件路径中有一个空格,因此我几乎可以移动所有内容。但仍无法找到Rtools。我在我的笔记本电脑和桌面上试过它,两者都不起作用,所以可能有一些结构我做错了。
答案 0 :(得分:6)
看起来您的R二进制文件和Rtools目录都不在您的系统的PATH
环境变量中。试试这个:
> writeLines(strsplit(Sys.getenv("PATH"), ";")[[1L]])
C:\R\Rtools\bin
C:\R\Rtools\gcc-4.6.3\bin
C:\R\R-devel\bin\x64
[... and so on ...]
如果你的目录是C:\R\R-3.0.1\bin\x64\
和C:\R\Rtools\bin\
&未列出C:\R\Rtools\gcc-*.*.*\bin\
(替换\ gcc - * - * - * \与您的gcc-binaries版本),找不到所需的组件。
为了安全起见,还要创建一个名为CYGWIN
的系统变量,其值为nodosfilewarning
。
更改/创建PATH
和CYGWIN
变量后,重新启动。然后它应该可以工作,您可以将源放在您的计算机上,并使用R CMD SHLIB
手动编译它们。