- PR -

EclipseでDLLファイルがロードできない。

1
投稿者投稿内容
Javaスターター
ベテラン
会議室デビュー日: 2004/06/14
投稿数: 67
投稿日時: 2004-11-17 16:15
現在Javaアプリを作成しています。
ビルドの際にプロジェクトの外にあるDLLファイルを参照するようにしているのですが、
EclipseでそのDLLファイルを参照する方法がわかりません、
普通に実行すると
 UnsatisfiedLinkError
 at java.lang.ClassLoader.loadLibrary(Unknown Source)
が出てしまいます。
(ちなみに外部ツールでバッチファイルを参照させると正常に動きます。)
プロジェクトのプロパティを見たのですが、DLLの設定らしきものは見つかりませんでした。
どうすればDLLファイルをEclipseで参照できるようになるのでしょうか。
ご教授願います。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-11-17 16:19
JavaでDLLって、JNIでも使うんですか?
普通はJavaからはDLLは呼べませんよ。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-11-17 16:26
DLL はちゃんとパスに通っていますか?
Javaスターター
ベテラン
会議室デビュー日: 2004/06/14
投稿数: 67
投稿日時: 2004-11-17 16:53
Clusterさん、インギさん回答ありがとうございます。
パスですが、実際にDLLファイルのあるところは  
 D:\eclipse\classes_test\dll\ProtocolNative_Printfrom.dll
で、ソースの
 System.loadLibrary("D:/eclipse/classes_test/"+libraryPath+".dll");
の箇所でログを出したら  
 D:/eclipse/classes_test/dll/ProtocolNative_Printfrom.dll
となっていたので正しいと思います。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-11-17 17:04
Javadocを読む限りでは、物理的なファイルパスを指定するのではなく、ライブラリ名を指定
するようですが。従ってこの場合では、

System.loadLibrary(libraryPath);

とするのが妥当ではないでしょうか。その上で、

D:\eclipse\classes_test\dll

がPATH環境変数に設定されていればいいのではないですか?
Javaスターター
ベテラン
会議室デビュー日: 2004/06/14
投稿数: 67
投稿日時: 2004-11-17 19:30
UKさんのご指摘どおり、実行メニューで環境パスの追加をすれば、起動できるようになり、デバッグも使えるようになりました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)