首页 文章

java.lang.UnsatisfiedLinkError:无法在IA 32位平台上加载AMD 64位.dll

提问于
浏览
1

遇到这个java.lang.UnsatisfiedLinkError:尝试在netbeans ide中运行java文件时,无法在IA 32位平台上加载AMD 64位.dll . 不知道从哪里开始调试和修复代码 .

源代码如下:

package demojni;
public class Main {
   static {
      System.load("C:\\Users\\Nicholas1\\Documents\\NetBeansProjects\\DemoJNI_Lib\\dist\\DemoJNI_Lib.dll"); // Load native library at runtime
                                   // hello.dll (Windows) or libhello.so (Unixes)
   }

   // Declare a native method sayHello() that receives nothing and returns void


   // Test Driver
   public static void main(String[] args) {
      new Main().sayHelloWorld();  // invoke the native method
   }
   private native void sayHelloWorld();
}

3 回答

  • 0

    Dll是针对64位(amd64或x86_64)平台/ cpu架构编译的,而您的Windows OS / JVM / JRE安装是32位 .

    获取32位版本的dll或升级您的工作环境(OS或JVM / JRE安装

  • 2

    在我的情况下,我只是保证Tomcat的位与JDK的位相同 . 我认为这个错误对于eclipse和操作系统的编码工具无关紧要 .

  • 0

    解决了架构错误 .

    Lamans解释:操作系统是64位,我有64位编译.dll库和32位JDK 1.6 . 还将我的JAVA_HOME变量从(JDK 1.6 32位)更新为(JDK 1.8 64位) .

    • 将Java / JRE / JDK更改为64位环境

    • 将Java / JRE / JDK环境升级到JDK 1.8

    • 从"Netbeans 6.9.1"升级到"Netbeans 8.2"

    • 升级的Netbeans "Default JDK"从"JDK 1.6"到JDK 1.8工作 .

    注意:可以从IDE访问Tools-> Java Platforms-> Platforms找到Netbeans JDK版本,或使用链接“Changing java platform on which netbeans runs”更改netbeans的默认JDK .

相关问题