r语言 - 在 64 位 Windows 上使用 RcppArmadillo 构建软件包



我一直在使用RcppArmadillo来构建一个软件包,但是我遇到了一个小问题。我有一个适用于 32 位 R 的完美工作包,但我希望它在 64 位上运行。当我开始处理包时,我使用的是 32 位 R(没有意识到),但是当我转向 64 位 R 时,我停止了构建我的包。我收到错误,指出"加载库失败: %1 不是有效的 Win32 应用程序。

我意识到问题是.dll文件是 32 位的,因此 64 位 R 无法使用它。我不明白的是,如何重新创建.dll,使其为 64 位。在 64 位 R 中,当我运行devtools::find_rtools()我得到 TRUE,所以我怀疑我必须在 makevars 文件中添加一些东西才能完成这项工作。

所以我用一句话的问题是:你如何获得一个带有 RcppArmadillo 的 32 位软件包在 Windows 上使用 64 位?任何指导将不胜感激。

所有 CRAN 软件包都构建在 32 位和 64 位 Windows 上。

所有 CRAN 提交,包括我的不同 Rcpp* 包(除了那些需要 Unix、C++11 或 ...)。

因此,如果我是你,并且在设置我的主盒子时遇到(暂时的)麻烦,我仍然会使用优秀的赢家,它将为你生成 32 位和 64 位二进制文件。

啊哈,这是makevars文件。

我不得不添加$(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" -e "Rcpp:::LdFlags()")

最新更新