C语言 加载库失败:%1不是有效的Win32应用程序,在R

wz8daaqr  于 2022-12-03  发布在  其他
关注(0)|答案(2)|浏览(186)

我有一个C代码,它是通过R加载到我的项目中的。使用dyn.load,我能够在Windows 64位机器和Linux服务器中加载C代码。但是,当我试图在Windows 32位机器中加载.dll时,我得到了以下错误。
R error while using dyn.load
我试着使用整个路径,从工作目录运行dyn.load命令,但都不起作用。R version
此外,我还编辑了系统变量,您可以在下面找到系统变量。

`C:\ProgramData\Oracle\Java\javapath;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Common Files\Roxio Shared\DLLShared\;
C:\Program Files\Common Files\Roxio Shared\10.0\Roxio Central36;
C:\Program Files\Windows Imaging\;
C:\Program Files\QuickTime\QTSystem\;
C:\Program Files\R\R-3.3.2\bin;
C:\Rtools\bin;
C:\Rtools\mingw_32\bin;
C:\Rtools\mingw_32\lib\gcc\i686-w64-mingw32\4.9.3;
C:\Users\******\Documents\R\R-3.3.2\library\Rcpp`

对于这类问题的现有解决方案对我没有帮助。
如果有人能帮我解决这个问题就太好了。

wtlkbnrh

wtlkbnrh1#

我的电脑缺少64位java,我所要做的就是安装它:

  • 转到here
  • 单击“Windows脱机(64位)"下载64位java
  • 单击下载的文件并按照安装说明进行操作
  • 关闭RStudio,然后重新打开RStudio
  • 一切正常!
vc6uscn9

vc6uscn92#

这类错误通常是指架构不匹配,显然是当您尝试在x86机器上加载x86-64模块时。请确保在x86机器上加载的是专门为x86架构编译的.dll。

相关问题