r - 我可以在不安装 Rtools 的情况下在 R 中使用 Rcpp 代码吗?
问题描述
我实验室中的 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 可能需要很长时间,我想知道是否有另一种方法可以避免这个问题并在不安装 Rtools 的情况下运行 Rcpp 代码。
据我所知,构建一个包不会有帮助,因为它在安装它时也使用 Rtools。如有错误请指正。
我可以绕道运行代码吗?
感谢您的任何评论和想法。
解决方案
简要地:
狭义的答案是“是的,理论上你可以不用 Rtools”,如果你碰巧安装了 gcc 等的二进制相同版本(包括补丁)。实际上,您不能(在 Windows 上)。
一种简单的解决方法是在 HPC 服务器之外编译代码包,并在其上部署该包的二进制构建。简单的。并且二进制文件不需要 Rtools!
如果您使用 HPC,您可能还想研究 Linux。
推荐阅读
- import - 如何在 tinkerpop 3.4 中使用 inputstream 导入 graphml 文件
- javascript - 无法理解显示模块的行为
- python - 从列表中取消反向号码
- firebase - Firestore 安全规则:允许访问一个特定用户
- docker - 在 pspell debian 上部署 circleci 时出错
- android - 如何在 Kotlin Android 上使用 Retrofit2、RxJava2 读取 JSON 文件
- python - 无法写入对文件的请求获得的 html
- azure - 如何将我自己的模型上传到 Azure 并进行部署?
- python - 使用相同值更新列表子集的 Pythonic 方法
- xml - xslt 1.0 - 基于分隔符标准化/清理空间,然后标记结果(仅限 Vanilla XSLT)