opencv 无法使用 dll 动态链接库 UnsatisfiedLinkError java.library.path Can‘t find dependent libraries

opencv 无法使用 dll 动态链接库 UnsatisfiedLinkError java.library.path Can‘t find dependent libraries

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说opencv 无法使用 dll 动态链接库 UnsatisfiedLinkError java.library.path Can‘t find dependent libraries,希望能够帮助大家进步!!!

System.loadLibrary(Core.NATIVE_LIBRARY_NAME)

使用如上方法加载本地 dll文件。

 

一般会出现两种错误:

1、 UnsatisfiedLinkError java.library.path  

2、UnsatisfiedLinkError Can't find dependent libraries

 

第一种错误为 没有加载到指定的 dll文件,该配置可以百度搜索 java.library,path 设置进行配置。

通用方式,将opencv.dll 文件放入到 ~/jdk/bin (本机器所装jdk安装目录下的bin)中。该目录默认包含在 java.library.path变量中,可以直接使用。

还有则可以在JVM启动时,使用 -D参数进行设置 java.library.path 如:-Djava.library.path=xxx/opencv.dll

另外,可以直接将 dll文件放入项目中,参见 opencv 基本使用

 

第二种错误为 opencv.dll 不仅仅使用这单独一个dll文件,其中会调用其他dll文件,可以通过 dependency-walker 查看该dll依赖哪些其他的dll文件,如下。

opencv 无法使用 dll 动态链接库 UnsatisfiedLinkError java.library.path Can‘t find dependent libraries

则表示 该opencv.dll 依赖以上两个报错的dll文件,提示系统无法加载到该文件,下载这两个dll 文件放入到windows/system32目录下即可。

这样就可以在使用opencv.dll 的时候加载到其多依赖的dll文件了。

本文来源huayang183,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/17869

发表评论