gpt4 book ai didi

Java JNI错误java.lang.UnsatisfiedLinkError : xxxx()V

转载 作者:行者123 更新时间:2023-11-30 17:05:29 26 4
gpt4 key购买 nike

今天我在JNI上度过了一段艰难的时光,基本上我想做的是将OpenAlpr集成到我的Java项目中,我是使用预编译的二进制文件,当我运行 java_test.bat 文件时,它可以完美地工作。起初Java一直告诉我它找不到openAlprJni,然后我将dlls的路径添加到我的构建路径和系统路径中,之后我开始遇到 >openAlprJni.Alpr.initialize(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 根据文档,这意味着库本身不好,但自从测试以来就可以了程序正在运行,我查看了各种论坛,甚至与OpenAlpr的作者交谈过,但仍然无法解决这个问题,这里有没有人遇到过类似的问题帮助我解决这个问题?提前致谢。

最佳答案

请查看com.openalpr.jni.Alpr 。在第 12 行中,您会发现:

private native void initialize(String country, String configFile, String runtimeDir);

此方法与 header com_openalpr_jni_Alpr.h 匹配:

/*
* Class: com_openalpr_jni_Alpr
* Method: initialize
* Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_com_openalpr_jni_Alpr_initialize(JNIEnv *, jobject, jstring, jstring, jstring);

您将看到您“体验”的只是此 initialize 方法的方法签名,该方法返回 void 并采用三个 Ljava/类型的参数lang/字符串;.

当您将示例添加到工作区时,您可能破坏了示例(检查包名称)。请注意,您使用的 *.dll 可能是针对 com_openalpr_jni_Alpr 而不是 jni_Alpr 编译的。

我认真推荐你学习JNI概念,here您找到了一个很好的起点。

关于Java JNI错误java.lang.UnsatisfiedLinkError : xxxx()V,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35261023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com