【发布时间】:2013-12-06 09:01:12
【问题描述】:
这是How to install ROracle package on Windows 7?的后续内容
我在尝试构建 ROracle 时遇到以下错误
** 测试安装的包是否可以加载
inDL(x, as.logical(local), as.logical(now), ...) 中的错误: 无法加载共享对象“D:/Users/a101/Documents/R/win-library/3.0/ROracle/libs/x64/ROracle.dll”: LoadLibrary 失败: %1 不是有效的 Win32 应用程序。
我安装了 RTools 和 64 位 Oracle Instantclient
我从管理员权限的命令行执行以下操作:
设置 OCI_LIB64=C:/Oracle/instantclient_12_1_x64
设置 OCI_INC=C:/Oracle/instantclient_12_1_x64/sdk/include
"C:/Program Files/R/R-3.0.0/bin/x64/R" CMD INSTALL --build ROracle_1.1-10.tar.gz
我四处搜索,发现此错误是由在混合模式下构建引起的。 IE。 32 位 R 和 64 位 Oracle 客户端库,反之亦然。我已经研究了很多(很多)小时,我相信我正在使用所有 64 位(OS、R、Oracle 客户端库)。所有跟踪消息似乎到处都指示 64 位。
对我可能遗漏的内容有什么想法吗?
【问题讨论】:
-
没关系。我相信我已经找到了错误。我对 ROracle.dll 进行了一次依赖检查,它似乎找到了 32 位版本的 OCI.dll,从而阻止了 ROracle DLL 的成功加载。
-
如何进行依赖遍历?我遇到了完全相同的问题!
标签: r