试图使使用OpenCV的Java应用程序(可执行Jar)可移植。收到不满意的链接错误
导读:如何解决试图使使用OpenCV的Java应用程序(可执行Jar)可移植。收到不满意的链接错误?如果opencv未安装在目标计算机上,则需要交付必要的opencv的dll文件并设置相应的库路径,这opencv是javacv例如:jar yourapp.jar -Djava.library.path='...
如果opencv未安装在目标计算机上,则需要交付必要的opencv的dll文件并设置相应的库路径,这opencv是javacv
例如:
jar yourapp.jar -Djava.library.path='/path/to/OpenCV/library'解决方法
我已经开发了一个应用程序,可以从网络摄像头抓取视频并使用OpenCV和JavaCV检测运动。我正在尝试使用eclipse导出为可执行jar。程序在eclipse中运行良好,就像我在其中编写程序的计算机上的exejar一样。
我要完成的工作是使exe Jar在未安装OpenCV的计算机上运行。基本上我会考虑可移植的应用程序。当我在没有安装JRE的其他计算机上运行exejar时,出现如下所示的不满意的链接错误。
Exception in thread 'Video Thread' java.lang.UnsatisfiedLinkError: C:UsersJohnDAppDataLocalTempjavacpp91062429652918jniopencv_core.dll: Can’t find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(Unknown Source) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566) at com.googlecode.javacpp.Loader.load(Loader.java:489) at com.googlecode.javacpp.Loader.load(Loader.java:431) at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.googlecode.javacpp.Loader.load(Loader.java:453) at com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.googlecode.javacpp.Loader.load(Loader.java:453) at com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85) at com.googlecode.javacv.OpenCVFrameGrabber.start(OpenCVFrameGrabber.java:174) at VideoPanel.run(VideoPanel.java:163) at java.lang.Thread.run(Unknown Source)Caused by: java.lang.UnsatisfiedLinkError: no opencv_core244 in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593) at com.googlecode.javacpp.Loader.load(Loader.java:481) ... 13 more
我一直在寻找解决问题的方法。我遇到的大多数主题都带有不满意的链接错误,例如我收到的链接错误,一直试图使它第一次在IDE中运行,而这里不是这种情况。我认为我的依赖关系在构建路径中的库中是正确的,因为当我在已安装所有内容的计算机上运行时,可以使其完美运行,但我仍然相信我在构建过程中出错了。
我再次尝试使它在未安装OpenCV / JavaCV的计算机上运行。任何帮助将不胜感激。
相关文章:
1. Java“ Class.forName()”和“ Class.forName()newInstance()”之间有什么区别?2. HTML标签上的非标准属性好东西吗 坏事?你的想法?3. java-ee - Eclipse上的tomcat8.0用不了4. javascript - 请问js(非jq)中如果获取元素的高度精准到小数位5. python - 在sqlalchemy中获取刚插入的数据id?6. python - 关于计算日期的问题7. javascript - jq遍历问题8. 续上次的令牌问题9. javascript - 请问chrome 能否修改 有title属性的元素弹出的提示框样式。10. http://bbs.dazhoushan.com/thread-htm-fid-247.html