プログラマメモ2 - programmer no memo2

こういうふうにした。java.lang.UnsatisfiedLinkError: xxxl: Can't find dependent libraries 2008/09/21

Windowsです。Javaです。

ネイティブなライブラリを読み込むようにして下記のようなエラーがでた場合。

java.lang.UnsatisfiedLinkError: no xxx in java.library.path

これだとパスに必要なDLLを置くか、DLLのある場所にパスを通せばよいわけです。
Javaコマンドに引数追加。
-Djava.library.path=


次に、パスは設定したが下記のようなエラーがでる場合。
java.lang.UnsatisfiedLinkError: xxxl: Can't find dependent libraries

これは、読み込んだライブラリがさらに他のライブラリに依存しているということになります。

じゃ何が足りないのかを探る方法です。
僕がとったアプローチです。
コードギア(ボーランド)のbcc55についているtdumpというコマンドを使ってDLL他の何に依存しているか調べます。



何やらぞろぞろダンプしてくれます。
それっぽい記述をみつけます。

Imports from XXXX.DLL

って感じで記述されているところがそれっぽいです。

つぎに、そのDLLがあればパスに追加してみます。
そのDLLをもっていなければ、みつけてきます。



こういった手順でとりあえず必要なものがそろうかもしれません。
乱暴なやりかたかも....

: