繁体   English   中英

无法在AMD 64位平台JNI上加载IA 32位.dll

[英]Can't load IA 32-bit .dll on a AMD 64-bit platform JNI

我有一个问题:我正在使用JNI处理自生成的DLL。 我已经使用Visual Studio 2013为64Bit计算机生成了DLL。 我已经检查过Dependency Walker,如果我的DLL真的是64位,那就是。 然后我尝试在我的Java源代码中使用DLL(Eclipse版本:Luna Service Release 1(4.4.1)Java版本1.7.0_71-b14 64位版本)。

当我运行我的Java程序时,我得到错误消息无法在此行中的AMD 64位平台上加载IA 32位.dll。

     static 
     {
         System.loadLibrary("iomemjava");
     }

我已经花了2天时间解决这个问题并搜索了stackoverflow和其他一些论坛。 我真的没有想法可能是错的。

到目前为止,希望你们和男孩们可以帮助马丁

Java使用系统属性java.library.path作为查找本机库的路径。 启动应用程序时,在命令行上使用-D选项定义此属性,并使其指向包含DLL的目录。 例如:

C:\MyProject> java -Djava.library.path=C:\MyProject\nativelib com.mypackage.MyProgram

其中C:\\MyProject\\nativelib是包含要使用的DLL的目录。

转到链接http://www.apache.org/dist/tomcat/tomcat-connectors/native/找到最新的一个 在此输入图像描述

下载tomcat-native-XXX-win32-bin.zip打开zip文件。 在X64文件夹下找到tcnative-1.dll 在此输入图像描述

最后,用zip文件中的.dll替换tomcat bin中的.dll

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM