java.lang.UnsatisfiedLinkError: Can't load AMD 64-bit .dll on a IA 32-bit platform
java.lang.UnsatisfiedLinkError: Can't load AMD 64-bit .dll on a IA 32-bit platform
遇到这个java.lang.UnsatisfiedLinkError:尝试在 netbeans 中 运行 java 文件时无法在 IA 32 位平台上加载 AMD 64 位 .dll ide.不确定从哪里开始调试和修复代码。
源码如下:
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();
}
Dll 编译为 64 位(amd64 或 x86_64)platform/cpu 架构,而您的 windows OS/JVM/JRE 安装 is/are 32 位。
获取 32 位版本的 dll 或升级您的工作环境(OS 或 JVM/JRE 安装
解决了架构错误。
Laman 对错误的解释:OS 是 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。
注意:Netbeans JDK 版本可以从 IDE 访问工具 ->Java 平台 -> 平台或使用 link "Changing java platform on which netbeans runs" 找到更改 netbeans 的默认值 JDK。
在我的情况下,我只是保证 Tomcat 的位与 JDK 的位相同。我认为这个错误对eclipse等编码工具和操作系统的位无关紧要。
遇到这个java.lang.UnsatisfiedLinkError:尝试在 netbeans 中 运行 java 文件时无法在 IA 32 位平台上加载 AMD 64 位 .dll ide.不确定从哪里开始调试和修复代码。
源码如下:
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();
}
Dll 编译为 64 位(amd64 或 x86_64)platform/cpu 架构,而您的 windows OS/JVM/JRE 安装 is/are 32 位。
获取 32 位版本的 dll 或升级您的工作环境(OS 或 JVM/JRE 安装
解决了架构错误。
Laman 对错误的解释:OS 是 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。
注意:Netbeans JDK 版本可以从 IDE 访问工具 ->Java 平台 -> 平台或使用 link "Changing java platform on which netbeans runs" 找到更改 netbeans 的默认值 JDK。
在我的情况下,我只是保证 Tomcat 的位与 JDK 的位相同。我认为这个错误对eclipse等编码工具和操作系统的位无关紧要。