我目前正尝试在我的 32 位笔记本电脑上设置 OpenCV,但我不断收到一条让我感到困惑的错误消息:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java249 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at hello.main(hello.java:8)
我试过改变一些东西,比如进入用户库并将 native 库位置更改为\x64 而不是\x86,但这没有用。我还确保我的 Java 项目有 OpenCV-2.4.9 作为它的库之一,它有。我也试过“清理”所有项目,但没有奏效(有过吗?)。所以我已经按照设置教程中的所有说明进行操作,但它仍然无法正常工作。
有谁知道这里可能是什么问题?提前致谢...
最佳答案
问题是找不到 native opencv 库,因为它不在 java.library.path
中(它是一个 native 库,不应该在通常的 java 类路径中,但它必须在 java.library.path 中)。
您的 opencv 发行版应包含:
一个 java 库:opencv249.jar。这个库主要是一个带有 jni 东西的 java 到 native 库,允许您从 java 代码进行 native 调用。它必须在类路径中(并且根据您遇到的错误和您的解释:它在您的类路径中 --> 这里一切正常)
一个名为
libopencv_java249.so
的本地库,它必须在您的java.library.path
中。显然:它不是:UnsatisfiedLinkError 是缺少 native 库的症状。要包含此 native 库:使用以下参数启动您的 java 程序:-Djava.library.path=/path/to/the/directory/of/ibopencv_java249.so
关于java - 异常在线程 "main"java.lang.UnsatisfiedLinkError : no opencv_java249 in java. library.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644735/