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 依赖以上两个报错的dll文件,提示系统无法加载到该文件,下载这两个dll 文件放入到windows/system32目录下即可。

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

 

以上。

 

posted @ 2018-11-02 13:47  GordonDicaprio  阅读(4578)  评论(0编辑  收藏  举报