java JNI错误 java.lang.UnsatisfiedLinkError。

 2023-01-20    295  

问题描述

java -Djava.library.path=. TestJNI
>>>>

Exception in thread "main" java.lang.UnsatisfiedLinkError: TestJNI.calibrate([D[DII)[D
 at TestJNI.calibrate(Native Method)
 at TestJNI.main(TestJNI.java:61)

我知道库正在加载,否则错误说无法找到校准库.
上述错误是什么意思?

编辑

java JNI错误 java.lang.UnsatisfiedLinkError。

这是我的实现 –

JNIEXPORT jdoubleArray JNICALL Java_TestJNI_cailbrate (JNIEnv * env, jobject jobj, jdoubleArray rtt, jdoubleArray distance ,jint activecount,jint passivecount) {
jdoubleArray jresult = (*env)->NewDoubleArray(env,3);
 .......
return jresult;
}

参数是否正确声明?

推荐答案

此消息意味着Java正在寻找一种看起来像Java方法

的本机方法

double[] calibrate(double[], double[], int, int)

如果您正确生成了标头文件并构建了库,则很可能意味着您缺少该方法的实现.

想到的一些事情:

  • 实施该方法后,您是否重建图书馆?
  • 构建库后,您是否碰巧更改了Java方法的界面?

其他推荐答案

此隐秘错误的另一个原因是导入错误的<jni.h>文件时.例如,如果您要针对X86编译,但请指向includes通往标头X64风味的路径.

以上所述是小编给大家介绍的java JNI错误 java.lang.UnsatisfiedLinkError。,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26047.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。