我正在编写并尝试使用预编译的共享库构建的 R 包遇到问题。让我试着简要描述一下这个问题:
- 这个包(我们称之为
mypack
)依赖于一个mylib.dll
已经编译的共享库,并且在构建 R 包时我无法即时编译。 - 该库
mylib.dll
已在 Windows 下的 x64 机器上编译,并且可以在 R 中加载dyn.load
. - 该包包含所需的文件
NAMESPACE
,其中useDynLib(mylib.dll)
指定。.onLoad
包含指令的函数library.dynam('mylib.dll', pkg, lib)
也在文件中指定zzz.R
。 - R 包
mypack
是Rtools
使用常用命令构建的Rcmd INSTALL
,然后我libs
在其中添加一个保存目录mylib.dll
。 - 当我尝试在 R 中加载包时
library(mypack)
,我收到以下错误消息:
Error: package 'mypack' is not installed for 'arch=x64'
这让我很困惑。为什么共享库可以在 R 中顺利加载,但是当我使用它构建包时,我收到了这个奇怪的错误消息?
非常感谢您的帮助!