线程“main”中的异常 java.lang.UnsatisfiedLinkError:proiectP.JavatoC.getval(I)I

1 c java dll path

这是我的代码,我已将 .dll 添加到 Java_Home 所在的位置。我有这个错误:

线程“main”中的异常 java.lang.UnsatisfiedLinkError: proiectP.JavatoC.getval(I)I at proiectP.JavatoC.getval(Native Method) at proiectP.JavatoC.main(JavatoC.java:19)

public class JavatoC {
    public native int getval(int b);
    static {
        System.loadLibrary("main");
    }

    public static void main(String[] args) {
        try {
            int a;
            int b=3;
            a= new JavatoC().getval(b); 
            System.out.println(a);     
        } catch(Exception e) {
            System.out.println(e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我也试着写a= new proiectP.JavatoC().getval(b)proiectP是包。它不起作用。

小智 10

似乎库链接没有做对。System.loadLibrary 中存在问题。因为它无法显示所需的方法。

这些是在 Java 中使用本机代码的要求,我不知道哪些没有被观察到:

首先确保native文件是正确的,getval方法必须在那个dll中,name、input、output的规格完全一样。

其次,它正是为此用途而编译的。

最后一个方向正确,名称正确。