首页 > 编程语言 >opencv 无法使用 dll 动态链接库 UnsatisfiedLinkError java.library.path Can‘t find dependent libraries

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

时间:2023-05-29 10:31:39浏览次数:35  
标签:文件 java dependent library dll opencv path


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

标签:文件,java,dependent,library,dll,opencv,path
From: https://blog.51cto.com/chengzheng183/6368292

相关文章

  • Java中Collection与Collections有什么区别?Java常见面试题解析
    本文将为大家详细讲解Java中Collection与Collections的区别点,这是我们进行开发时经常用到的知识点,也是大家在学习Java中很重要的一个知识点,更是我们在面试时有可能会问到的问题!文章较长,干货满满,建议大家收藏慢慢学习。文末有本文重点总结,主页有全系列文章分享。技术类问题,欢迎大......
  • JavaScript函数传参原理详解——值传递还是引用传递
    讨论JavaScript的传参原理之前,我们先来看一段曾经让笔者困惑了一段时间的代码vartestA=1;vartestB={};functiontestNumber(example){example=2;}functiontestObj(example){example.test=1;}testNumber(testA);testObj(testB);console.log(testA);//......
  • java多线程
    java多线程进程、线程与多线程进程是执行程序的一次执行过程,是一个动态的概念,是系统支援分配的单位通常一个进程可以包含一个或多个线程。线程是CPU调度和执行的单位线程就是独立执行的路径,由cpu调度线程会带来额外的开销,如cpu调度时间,并发控制开销每个线程在自己......
  • 复习JavaDay08
    GUI编程简介Gui的核心技术:SwingAWT1.因为界面不美观2.需要jre环境!为什么我们要学习?1.可以写出自己心中想要的一些小工具2.工作时候,也可能需要维护到swing界面,概率极小!3.了解MVC架构,了解监听!第一个Frame窗口publicstaticvoidmain(String[]args){ //创建一个图......
  • Java 线程
    栈与栈帧JavaVirtualMachineStacks(Java虚拟机栈)每个线程启动后,虚拟机就会为其分配一块栈内存,是线程私有的。每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存;每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。  线程上下文切换(ThreadContext......
  • Java的Object类的方法
    Java的Object类是所有类的根类,它提供了一些通用的方法。下面是一些常用的Object类方法:1.equals(Objectobj):判断当前对象是否与给定对象相等。默认情况下,equals方法比较的是对象的引用,但可以通过在具体类中重写equals方法来改变其比较行为。2.hashCode():返回当前对象的哈希码......
  • 基于JAVA的springboot+vue摄影跟拍预定管理系统,附源码+数据库+论文+PPT
    1、项目介绍困扰管理层的许多问题当中,摄影跟拍预定管理一定是不敢忽视的一块。但是管理好摄影跟拍预定又面临很多麻烦需要解决,例如有几个方面:第一,往往用户人数都比较多,如何保证能够管理到每一用户;第二,如何在工作琐碎,记录繁多的情况下将摄影跟拍预定的当前情况反应给领导......
  • 树的最大深度-java实现
    使用递归的方法最为简洁、高效;通过主次遍历,主要不为空,书的深度就加一,同时比较右侧树的深度,每次返回最大值; 1publicintmaxDepth(TreeNoderoot){2returnroot==null?0:Math.max(maxDepth(root.left)+1,maxDepth(root.right)+1);3}ViewCode ......
  • 深入理解 Java 虚拟机 —— Java 内存模型与线程
    处理器的效率和一致性(与java内存访问可类比)计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统的速度差距太大,大量的时间都花费在磁盘I/O、网络通信或者数据库访问上。如果不希望处理器在大部分时间里都处......
  • Java学习:使用MyBatis Plus的分页插件和QueryWrapper结合自定义mapper xml实现多表关联
     Vo:/***用来返回给前端展示列表的数据实体*/@DatapublicclassCourseVoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateStringid;privateStringtitle;privateStringsubjectParentTitle;private......