我有一个问题:我正在使用JNI处理自生成的DLL。 我已经使用Visual Studio 2013为64Bit计算机生成了DLL。我已经检查过Dependency Walker,如果我的DLL真的是64位,那就是。然后我尝试在我的Java源代码中使用DLL(Eclipse版本:Luna服务版本1(4.4.1)Java版本1.7.0_71-b14 64位版本)。
当我运行我的Java程序时,我得到错误消息无法在此行中的AMD 64位平台上加载IA 32位.dll。
static
{
System.loadLibrary("iomemjava");
}
我已经花了2天时间解决这个问题并搜索了stackoverflow和其他一些论坛。我真的没有想法可能是错的。
到目前为止,希望你们和女孩们可以提供帮助 马丁
答案 0 :(得分:3)
Java使用系统属性java.library.path
作为查找本机库的路径。启动应用程序时,使用-D
选项在命令行上定义此属性,并使其指向包含DLL的目录。例如:
C:\MyProject> java -Djava.library.path=C:\MyProject\nativelib com.mypackage.MyProgram
其中C:\MyProject\nativelib
是包含您要使用的DLL的目录。
答案 1 :(得分:0)
转到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