我遇到了一个简单的Rcpp设置问题,我无法让它工作.我试着按照这个例子http://www.r-bloggers.com/user2013-the-rcpp-tutorial/ 但是在执行这段代码时:
library(Rcpp)
evalCpp("1 + 1", showOutput= TRUE)
Run Code Online (Sandbox Code Playgroud)
我得到了这个输出
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:
Run Code Online (Sandbox Code Playgroud)
为了使它工作,我做了以下事情:
大多数类似的问题似乎表明文件路径中有一个空格,因此我几乎可以移动所有内容.但仍无法找到Rtools.我在我的笔记本电脑和桌面上试了一下它们都没有用,所以可能有一些结构我做错了.
小智 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 ...]
Run Code Online (Sandbox Code Playgroud)
如果未列出您的目录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
.