无法在 AMD 64 位平台上加载 IA 32 位.dll

2022-08-31 16:58:04

我正在尝试使用Java中的SVMLight在此页面上使用JNI包装器

  static {
    System.loadLibrary("lib/JNI_SVM-light-6.01/lib/svmlight");
  }

我收到以下错误:

...lib\JNI_SVM-light-6.01\lib\svmlight.dll:无法在 AMD 64 位平台上加载 IA 32 位.dll

我可以通过重新编译64位.dll来解决这个问题吗?我该怎么做?我可以使用其他解决方法吗?SVMLight 使 C 源代码可用。


答案 1

是的,您必须重新编译 64 位的 DLL。您唯一的其他选择是切换到 32 位 JVM,或者以其他方式获取一些 32 位进程来代表您加载 DLL 并以某种方式与该进程进行通信。


答案 2

我在使用tibco dll的Java应用程序上遇到了同样的问题,该应用程序最初打算在Win XP上运行。为了让它在Windows 7上工作,我使应用程序指向32位JRE。等着看是否有其他解决方案。


推荐