我正在尝试使用 opencv 构建一个小型个人项目。我使用java依赖项在Visual Studio中包含了opencv jar文件的路径,然后引用了库,但我得到了链接器错误:线程“main”java.lang.UnsatisfiedLinkError中的异常:java.library.path中没有opencv_java430。我不知道我还能做什么
最佳答案
UnsatisfiedLinkError 与 jar 文件无关。
这是关于“ native ”文件的。这些通常存储为 .jnilib
mac 上的文件,作为 .DLL
在 Windows 上,并作为 .so
大多数unixen上的文件。
它们不能在 jar 文件中。
一些库会付出一些努力并在 jar 中提供一大堆它们(因为每个架构和操作系统都有一个唯一的 dll/jnilib/so 文件需要),会为你的 arch/os 组合找到“正确”的,在某个地方解压,然后尝试实时加载。
这要么不起作用,要么这个库没有这样做。大概 opencv 站点包含有关如何使其运行的教程;由于需要 native 文件,因此它比“仅下载、添加到类路径和瞧”更复杂一些。我建议你准确地遵循它。
如果您确实有一些看起来合适的东西(可能称为 opencv_java430.dll 或诸如此类),请使用 java -Djava.library.path=/directory/containing/that/file the.rest.of.your.java.args
启动 java - 这应该会有所帮助。
关于java - 尽管在 Visual Studio 代码中链接了 java jar 文件,但仍然遇到链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62417682/