3

ネイティブのみが使用できるコマンドを呼び出すことができる jar をまとめています (jar は、実際のプログラムではなくネイティブを使用します)。DLLをロードするたびに、問題が発生しました。エラーは次のとおりです。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'myDLL.dll': The specified module could not be found.

at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:194)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:283)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:368)
at com.sun.jna.Native.loadLibrary(Native.java:353)
at src.NativeBridgeJar.<clinit>(NativeBridgeJar.java:6)
at src.Main.main(Main.java:6)

このエラーの原因が何であるかはわかりません。ネイティブライブラリのパスをネイティブのあるフォルダーに設定したことを確認しました。誰にもアイデアはありますか?

4

4 に答える 4

2

JVM に dll の場所を表示する必要があります。-Djava.library.path=pathToDllVM引数で実行できます

于 2013-04-24T06:53:49.407 に答える
1

.dll ファイルを C:\Windows\System32 に配置するまで、同じ問題がありました。これは、C++ DLL であり、そのフォルダー内の Kernel32.dll および MSVCR100.dll に依存していたためです。それはうまくいったようです。

于 2013-05-23T10:59:37.247 に答える