jni开发mingw和mingw64的java.lang.UnsatisfiedLinkError异常

287 阅读1分钟

jni开发mingw和mingw64的java.lang.UnsatisfiedLinkError异常

问题描述: JNI开发时,Java调用C/C++编译后的自定义dll库时,报异常 Exception in thread "main" java.lang.UnsatisfiedLinkError: F:\workspace\eclipse workspace\javase workspace\myJni eclipse\prj2_2\libprj2_2.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

问题原因:在64位的JDK虚拟机环境中,调用了32位的dll库。 mingw,C/C++开发环境,32位编译环境 mingw64,C/C++开发环境,64位和32位编译环境

解决方法:64位的JDK虚拟机环境中,应当加载C/C++开发的64位的dll库,将eclipse c++的开发环境设置为mingw64即可。 菜单栏[Window] → [C/C++] → [Build] → [Environment] → [Add] Name:MINGW64_HOME Value:F:\sdk\mingw64\bin

重新启动 Eclipse c++ 即可