1. ホーム
  2. java

[解決済み】AMD 64ビットプラットフォームでIA 32ビット.dllをロードすることはできません。

2022-02-04 08:12:25

質問事項

を使おうとしています。 SVMLight を使用して、Java から このページの JNI ラッパー :

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

以下のようなエラーが発生します。

... libJNI_SVM-light-6.01 ..: Can't load IA 32-bit .dll AMD 64ビットプラットフォーム上

64ビット用の.dllを再コンパイルすることで解決できますか? どのようにすればよいのでしょうか? 他に何か回避策はありますか?SVMLightでは、C言語のソースコードを公開しています。

解決方法は?

はい、DLLを64ビット用に再コンパイルする必要があります。 他の選択肢としては、32ビットJVMに切り替えるか、32ビットプロセスにDLLを読み込ませて、そのプロセスと何らかの通信を行うしかないでしょう。