java无法加载32位。AMD 64位平台JNI上的dll
我有一个问题:我正在使用JNI处理一个自生成的DLL。 我使用Visual Studio 2013为64位计算机生成了DLL。我已经用Dependency Walker检查了我的DLL是否真的是64位的,它是。然后我尝试在Java源代码中使用DLL(Eclipse版本:Luna Service Release 1(4.4.1)Java版本1.7.0_71-b14 64位版本)
当我运行Java程序时,我得到一条错误消息:无法加载32位的IA。在AMD 64位平台上的dll
static
{
System.loadLibrary("iomemjava");
}
我已经花了2天的时间在这个问题上,搜索了stackoverflow和其他一些论坛。我真的不知道什么可能是错的
到目前为止,希望你们能帮上忙 马丁
# 1 楼答案
转到链接http://www.apache.org/dist/tomcat/tomcat-connectors/native/ 找到最新的
下载tomcat-native-XXX-win32-bin。拉链 打开zip文件。找到TC1。X64文件夹下的dll
最后,更换新的。在tomcat容器中的dll。zip文件中的dll
# 2 楼答案
Java使用系统属性
java.library.path
作为查找本机库的路径。启动应用程序时,在命令行上使用-D
选项定义此属性,并使其指向包含DLL的目录。例如:其中
C:\MyProject\nativelib
是包含要使用的DLL的目录