JNI java.lang.UnsatisfiedLinkError,cannot link method

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;
}


求解答,找不出哪里有问题。
阅读 4.1k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题