JNI java.lang.UnsatisfiedLinkError,cannot link method

发布于 2022-09-04 06:36:15 字数 1448 浏览 12 评论 0

JNI 使用时出错

Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.initCamera(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J

我的dll已经成功load了,但是调用函数的时候报上面这个错,没找到这个方法。查了网上都说是因为方法名不一致或者大小写错误啥的,我也都核对过了没有问题啊,不知道为什么不行。

Java代码:

public class Test {
public native long initCamera(String ip,String port,String username,String pwd); 
public native int snapPic(long id,String savePath,int no);
static{
    System.loadLibrary("dhconfigsdk");
    System.loadLibrary("dhnetsdk");
    System.loadLibrary("dhplay");
    System.loadLibrary("CameraCatcher");
}
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Test tNative = new Test();
    String ip="192.108.1.108";
    String port="37777";
    String username="admin";
    String pwd="123456";
    long cameraId=tNative.initCamera(ip,port,username,pwd);
    System.out.println(cameraId);
    String savePath="D:/";
    int number=tNative.snapPic(cameraId,savePath,0);
}
}

C++代码

   JNIEXPORT jlong JNICALL Java_CameraCatcher_initCamera
(JNIEnv * env, jclass c, jstring arg_ip, jstring arg_port, jstring arg_username, jstring arg_pwd)
{
    ......
    return lLogin;
}


JNIEXPORT jint JNICALL Java_CameraCatcher_snapPic
(JNIEnv * env, jclass c, jlong arg_id, jstring arg_path, jint arg_no)
{
    .....
    return 12;
}


求解答,找不出哪里有问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

戏蝶舞 2022-09-11 06:36:15

请问问题有找到吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文