我遇到了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:
为了达到目的,我做了以下事情:
通过install.Rtools()安装了Rtools 31
在C:\ R \ R-3.0.1中安装了R
库文件存储在C:\ R \ R-3.0.1 \ library中
在C:\ R \ RStudio中安装了Rstudio
将我的脚本放在C:\ R
大多数类似的问题似乎表明文件路径中有一个空格,因此我几乎可以移动所有东西。但是仍然无法找到Rtools。我在笔记本电脑和台式机上都尝试过,但都无法正常工作,所以可能是结构上的错误。
最佳答案
看起来您的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
手动进行编译。关于r - Rcpp找不到Rtools:“错误1在构建共享库时发生”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17619185/