今天在使用JNI调用C/C++写好的dll时候,运行程序一直报这个错。去网上搜索了半天,勉强是搞清楚了这个问题。
Can’t load IA 32-bit .dll on a AMD 64-bit platform
说明下这个错误:
这个错误的意思是你调用的dll是32位编译生成的,而你的java环境是64位的。
解决方案:
- 重新生成一个dll,以64位的格式编译生成
- 将你运行环境换成32位,(即将你使用环境的JDK更换为32位的JDK,项目中使用的JDK也必须更换为32位的JDK)
PS:
Can’t load IA 64-bit .dll on a AMD 32-bit platform 错误的解决方法类比该解决方法。
参考
1.如何查看自己的JDK位数版本:http://wenda.so.com/q/1363734268062264?src=140