Closed. This question is not reproducible or was caused by typos 。它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。
4年前关闭。
Improve this question
我不确定我做了什么,但是当它包含 Rcpp 代码时,我似乎无法构建这个包。我已经适本地安装了 MinGW(我认为)并将其添加到我的路径中(我认为)。
完全公开,我几乎从来没有在 Windows 上工作过。
当我尝试构建和重新加载时,这是我得到的错误:
要检查的一些基本事项:
计算机上的系统路径变量:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Brackets\command;C:\Program Files\nodejs\;C:\Program Files (x86)\Skype\Phone\;C:\MinGW\bin;C:\MinGW\msys\1.0\bin
一些注意事项:
在我的描述文件中,我导入了 Rcpp,并添加了链接 LinkingTo: Rcpp 在我的包文档中,我有 在我的包中我也有
更新:
当我删除 src 目录时,包会构建。 现在 RBuildTools 在路径上,当我重新启动 R 时,我看到一个“纯虚拟方法”出现。 我还收到一条新的错误消息 c:/Rtools/mingw_64/bin/g++;未找到。这很有趣,因为 Rtools 安装在名为 RBuildTools 的文件夹中(我没有选择)并且在路径中。 更新到较新的 R 版本 再次安装软件包 安装的MingW 将 MingW 添加到路径 在 C:/Rtools 重新安装了 Rtools(它是在这台机器上的 RBuildTools) 删除了 RBuildTools/路径中的引用,将它们更改为 Rtools/
我怀疑是 Rtools 的非标准位置导致了问题。但我对 Windows 版本的了解不够,无法进行推测。
想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。
4年前关闭。
Improve this question
我不确定我做了什么,但是当它包含 Rcpp 代码时,我似乎无法构建这个包。我已经适本地安装了 MinGW(我认为)并将其添加到我的路径中(我认为)。
完全公开,我几乎从来没有在 Windows 上工作过。
当我尝试构建和重新加载时,这是我得到的错误:
Warning: running command 'make -f "C:/PROGRA~1/R/R-32~1.4RE/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-32~1.4RE/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="packagename.dll" WIN=64 TCLBIN=64 OBJECTS="RcppExports.o somefunC.o somefunC.o"' had status 127
ERROR: compilation failed for package 'packagename'
要检查的一些基本事项:
library(devtools)
find_rtools() # TRUE
has_devel()
"C:/PROGRA~1/R/R-32~1.4RE/bin/x64/R" --no-site-file --no-environ \
--no-save --no-restore --quiet CMD SHLIB foo.c
gcc -m64 -I"C:/PROGRA~1/R/R-32~1.4RE/include" -DNDEBUG -I"d:/RCompile/r-compiling/local/local323/include" -O2 -Wall -std=gnu99 -mtune=core2 -c foo.c -o foo.o
gcc -m64 -shared -s -static-libgcc -o foo.dll tmp.def foo.o -Ld:/RCompile/r-compiling/local/local323/lib/x64 -Ld:/RCompile/r-compiling/local/local323/lib -LC:/PROGRA~1/R/R-32~1.4RE/bin/x64 -lR
[1] TRUE
计算机上的系统路径变量:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Brackets\command;C:\Program Files\nodejs\;C:\Program Files (x86)\Skype\Phone\;C:\MinGW\bin;C:\MinGW\msys\1.0\bin
一些注意事项:
@useDynLib packagename
指令 @importFrom Rcpp evalCpp
更新:
evalCpp("2+2")
按预期工作 最佳答案
虽然我不知道是什么具体步骤导致了我的解决方案(或者可能是组合),但在这个系统上安装 RTools 肯定有问题。
我怀疑是 Rtools 的非标准位置导致了问题。但我对 Windows 版本的了解不够,无法进行推测。
关于r - 带有 Rcpp 代码的包不会在 Windows 上构建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39302194/
10-12 17:49