【发布时间】:2023-02-12 20:20:14
【问题描述】:
我已经通读了 bytedeco 的 opencv gitbub 存储库的信息文档,并在互联网上进行了广泛搜索,但找不到有效的解决方案。
我正在尝试使用 gradle 创建一个 openCV javaFX 应用程序。
我在我的 gradle.build 文件中使用了这个依赖项:实现组:'org.bytedeco',名称:'javacv-platform',版本:'1.5.7'
当我运行 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 时,Core.NATIVE_LIBRARY_NAME 返回正确的 opencv 版本 (opencv_java455)。
但是,System.loadLibrary("opencv_java455") 失败并出现此错误:java.lang.UnsatisfiedLinkError: no opencv_java455 in java.library.path:
解决这个问题的正确方法是什么?
从我的在线挖掘中,我认为我可能丢失了一个 .dylib 文件。但是,我不知道如何找到这个文件或如何正确指向它。我在外部库中没有看到 opencv_java455.dylib 文件。
在此先感谢您的帮助
以下是一些更有用的信息:
操作系统:
MacOS 蒙特雷
M1 芯片 Macbook pro
使用智能
【问题讨论】:
-
关于opencv库:原生库在
java.library.path吗?原生库是为M1架构编译的吗?本机库是否与您的操作系统版本兼容?如果其中任何一个问题的答案是否定的,那么您的设置可能无法正常工作。 -
确保您使用的是 JDK 和 JavaFX 版本 17.0.2+,否则在 M1 架构上运行 JavaFX 的本机部分时会出现问题(崩溃)。
标签: java opencv gradle javafx bytedeco-javacv