无法使用 dyn.load windows 7 64 位在 R 中加载 dll 文件

Can't load a dll file in R using dyn.load windows 7 64bit

本文关键字:位在 加载 文件 dll dyn windows load      更新时间:2023-10-16

尽管有人问过类似的问题,但我似乎找不到答案。我需要在R中包含C++代码来加快我的算法。在我第一次尝试了解它的工作原理失败后,我开始学习本教程。我使用的是dev C++,它应该有正确的编译器gcc(我知道我不应该使用虚拟C++),并成功地创建了他在1.3.2中谈到的.dll文件。然而,当我尝试在R(64位)中加载它时,我会收到错误消息

inDL中的错误(x,as.local(local),as.localic(now),…):无法加载共享对象"C:\Rpackages/Test/src/Xdemo.dll":LoadLibrary失败:%1不是有效的Win32应用程序。

我从其他帖子中了解到,这可能是因为在我的路径中有一些对32位应用程序的调用。然而,我删除了这些,但仍然得到相同的错误。我的路径:

C:\Program Files\R\R-2.14.1\bin;C: \R工具\bin;C: \Rtools\MinGW\bin;C: \Perl64\site\bin;C: \Perl64\bin;C: \Program Files(x86)\MiKTeX 2.9\MiKTeX\bin;C: \Program Files(x86)\HTML Help Workshop;C: \Program Files\Common Files\Microsoft Shared\Windows Live;C: \Program Files(x86)\Common Files\Microsoft Shared\Windows Live;C: \Program Files\Intel\WiFi\bin\;C: \Program Files\Common Files\Intel\WirelessCommon\;c: \Program Files\WIDCOMM\蓝牙软件\;c: \Program Files\WIDCOMM\Bluetooth Software\syswow64;c: \Program Files(x86)\Common Files\Roxio Shared\DLLShared\;C: \Program Files(x86)\Windows Live\Shared;C: \Program Files(x86)\QuickTime\QTSystem\;C: \Users\anne\AppData\Local\Smartbar\Application\;C: \Users\anne\AppData\Local\Smartbar\Application\

非常感谢您的帮助!

当我使用64位R时,路径在。。。R\R-"版本"\bin\x64(而不是\bin),问题就消失了。

尝试使用R-版本进行确认。