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