JNI native:java.lang.UnsatisfiedLinkError:java.library.path中没有HelloWorld

Che*_*eng 2 c++ java java-native-interface

我按照教程构建我的第一个JNI程序.我的程序很简单..

package JNI;
public class HelloWorld {

    private native void print();

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

    static {

        System.loadLibrary("HelloWorld");

    }
}
Run Code Online (Sandbox Code Playgroud)

我还构建了c ++本机库(.so文件),并将其放在同一目录中

并使用

java -Djava.library.path=. JNI.HelloWorld
Run Code Online (Sandbox Code Playgroud)

(本机库和helloworld.class位于同一位置)

一切看起来都很正确.但错误从不放弃纠缠我..

你可以帮帮我吗?

Pet*_*rey 5

你需要检查一下

  • 你的图书馆被召唤 libHelloWorld.so
  • 它可以由你执行.
  • 它与JVM的32/64位相同.