0

JNI を使用して単純な HelloWorld アプリケーションを実装しようとしています。Java から c 関数を呼び出す。私はJavaクラスを作成しました:

class HelloWorld{
private native void print();
public static void main(String[] args){
    new HelloWorld().print();


}

static{
    System.load("c://jni_training//HelloWorld.dll");
}

}

次に、.h ファイルを生成し、c 実装を作成して、.dll を正常に生成しました。しかし、Java HelloWorld を実行できません...例外が表示されます

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\jni_training\Hello World.dll: Can't find dependent libraries 
   at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
   at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928) 
   at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825) 
   at java.lang.Runtime.load0(Runtime.java:792) 
   at java.lang.System.load(System.java:1059) 
   at HelloWorld.<clinit>(HelloWorld.java:10

問題は何ですか?

4

2 に答える 2

0

その DLL が C++ にない場合は、CLI クラス モーフィズムを介してインターフェイスする必要があります。

于 2017-08-21T09:55:02.593 に答える