我可以在不安装 Rtools 的情况下在 R 中使用 Rcpp 代码吗?
Can I use the Rcpp code in R without installing Rtools?
我实验室的 Window HPC 服务器没有 Rtools,所以我在获取 Rcpp 代码时收到了这条消息。
Warning message:
running command 'make -f "C:/PROGRA~1/R/R-32~1.2/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-32~1.2/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="sourceCpp_1.dll" WIN=64 TCLBIN=64 OBJECTS="MultiBayes.v1.o"' had status 127
Error in sourceCpp("./rcode/MultiBayes.v1.cpp") :
Error 1 occurred building shared library.
WARNING: The tools required to build C++ code for R were not found.
Please download and install the appropriate version of Rtools:
http://cran.r-project.org/bin/windows/Rtools/
Execution halted
由于管理人员说在服务器中安装Rtools可能需要很长时间,所以我想知道是否有另一种方法可以避免这个问题和运行 Rcpp代码而不安装Rtools。
据我所知,构建一个包不会有帮助,因为它在安装时也使用 Rtools。如有不妥请指正
我可以绕道 运行 代码吗?
感谢任何意见和想法。
简述:
狭义的答案是 "yes, in theory you get by without Rtools" 如果您碰巧安装了 gcc 等的二进制相同版本(包括补丁)。实际上,你不能(在Windows)。
一种简单的解决方法是在 HPC 服务器外部编译代码的 程序包 并在其上部署该程序包的二进制版本。简单。二进制文件不需要 Rtools!
如果您从事 HPC,您可能还想研究 Linux。
感谢 Dirk Eddelbuettel,我继续使用解决方案 2 来解决我的问题
这是我所做的。
构建包含 .cpp 代码的 R 包,并创建包源(例如 YourPkgName_1.0.tar.gz)
安装包以在您的桌面上创建库。例如,
install.packages(pkgs = "C:/Users/User/Desktop/YourPkgName_1.0.tar.gz",
repos = NULL,类型="source")
将安装的库从默认文件夹(您的桌面)移动到服务器。我的本地 url 是
C:\程序Files\R\R-3.5.1\library
您可以在未安装 Rtools 的服务器下加载 R 中的 cpp 函数,方法是在您的 R 脚本中包含以下命令。
图书馆("YourPkgName", lib.loc = "YourPersonalLibraryDirectory")
我实验室的 Window HPC 服务器没有 Rtools,所以我在获取 Rcpp 代码时收到了这条消息。
Warning message:
running command 'make -f "C:/PROGRA~1/R/R-32~1.2/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-32~1.2/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="sourceCpp_1.dll" WIN=64 TCLBIN=64 OBJECTS="MultiBayes.v1.o"' had status 127
Error in sourceCpp("./rcode/MultiBayes.v1.cpp") :
Error 1 occurred building shared library.
WARNING: The tools required to build C++ code for R were not found.
Please download and install the appropriate version of Rtools:
http://cran.r-project.org/bin/windows/Rtools/
Execution halted
由于管理人员说在服务器中安装Rtools可能需要很长时间,所以我想知道是否有另一种方法可以避免这个问题和运行 Rcpp代码而不安装Rtools。
据我所知,构建一个包不会有帮助,因为它在安装时也使用 Rtools。如有不妥请指正
我可以绕道 运行 代码吗?
感谢任何意见和想法。
简述:
狭义的答案是 "yes, in theory you get by without Rtools" 如果您碰巧安装了 gcc 等的二进制相同版本(包括补丁)。实际上,你不能(在Windows)。
一种简单的解决方法是在 HPC 服务器外部编译代码的 程序包 并在其上部署该程序包的二进制版本。简单。二进制文件不需要 Rtools!
如果您从事 HPC,您可能还想研究 Linux。
感谢 Dirk Eddelbuettel,我继续使用解决方案 2 来解决我的问题
这是我所做的。
构建包含 .cpp 代码的 R 包,并创建包源(例如 YourPkgName_1.0.tar.gz)
安装包以在您的桌面上创建库。例如,
install.packages(pkgs = "C:/Users/User/Desktop/YourPkgName_1.0.tar.gz", repos = NULL,类型="source")
将安装的库从默认文件夹(您的桌面)移动到服务器。我的本地 url 是
C:\程序Files\R\R-3.5.1\library
您可以在未安装 Rtools 的服务器下加载 R 中的 cpp 函数,方法是在您的 R 脚本中包含以下命令。
图书馆("YourPkgName", lib.loc = "YourPersonalLibraryDirectory")