0

重複の可能性:
Java コードで .dll ファイルを使用するには?

私が使用しているdllファイルはエラーを出しています:

エラーメッセージは次のとおりです。

java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: Eagleye_parser
    at java.lang.Runtime.load0(Runtime.java:767)
    at java.lang.System.load(System.java:1005)
    at test.TestDllJava.<clinit>(TestDllJava.java:15)
Exception in thread "main" 

これはコードです:

public class TestDllJava {

    private static native String[] eagleye_fmu(String A);

    public static void main(String[] args){
        String[] ag = null;
        String parameter =  null;
        parameter = "356188030442449 10250000 0001F464 0000EB34 0002CC7D 4xA0";
         ag = eagleye_fmu(parameter);
        System.out.println(ag);
    }

    static { 
        System.load("Eagleye_parser");
    } 
}

私が間違っているところを修正してください。

4

1 に答える 1

3

load()のドキュメントが指定するように:

指定されたファイル名のコード ファイルをローカル ファイル システムから動的ライブラリとして読み込みます。filename 引数は完全なパス名でなければなりません。

ライブラリへの絶対パスを指定しないより良いアプローチは、loadLibrary()または多分を使用することです。load(mapLibraryName(..))

Eclipse では、プロジェクトの [プロパティ] -> [Java ビルド パス] -> [ライブラリ] タブ -> [システム ライブラリ] を展開し、[ネイティブ ライブラリの場所] をクリックして、プロジェクトのネイティブ ライブラリ フォルダを指定できます。Eclipse がビルドjava.library.pathしてくれるloadLibrary()ので、簡単に確認できます。

プロジェクト プロパティのスクリーンショット

于 2012-04-20T12:06:02.483 に答える