所以我创建了两个文件(一个用于Java的C ++)。完成了这里列出的所有步骤:http://www.ibm.com/developerworks/java/tutorials/j-jni/j-jni.html一切顺利。我有头文件,我有DLL。但是当我尝试运行我的Java文件时,我收到一个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\user\Desktop\Project\Project2\p2_IO.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at p2.main(p2.java:17)
我使用java -version检查过,它说我有一个64位版本。
我使用以下代码构建DLL:
cl -Ic:\jdk\include -Ic:\jdk\include\win32 -LD p2_IO.cpp -p2_IO.dll
我注意到我正在使用win32目录。但问题是,我没有看到任何胜利64。是什么赋予了?有人可以解释错配中的错误在哪里?我不确定是否需要修改我的C ++端或Java端。谢谢你的时间!