2
いくつかの依存関係を持つDLLをロードするJavaアプリケーションがあります。必要なDLLをすべて同じフォルダにコピーしました。私が設定したDLLは、SeeingMachine FaceApiライブラリを使用しています。今、私がJavaアプリケーションを起動しているときに、私のDLLが依存関係を見つけることができないというエラーが発生します:Java JNI DLLの依存関係を修正するには
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\[..]\bin_dbg\HeadTrackerDLL.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at Tracker.<clinit>(Tracker.java:12)
at TrackerControls.<init>(TrackerControls.java:18)
at Main.main(Main.java:6)
どうすれば問題を解決できますか? Dependency Walkerはエラーを表示しないためです。そして、私はすべてのDLLファイルを手動でロードしたくありません。
javaを実行しているコマンドライン/スクリプトを含め、 'library.path'がどのパスに設定されているかを確認し、すべてのライブラリがそのパスにあることを確認してください。 –
アプリを起動したときにJavaライブラリパスを指定しましたか? –
Iは、Eclipse VM引数フィールドにこのラインを設定: -Djava.library.path = $ {workspace_loc}/bin_dbg/HeadTrackerDLL も私が試し -Djava.library.path = $ {workspace_loc}/bin_dbg しかし、何も動作しません。 – sn3ek