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文件了。
以上。