Javacv UnsatisfiedLinkError in windows 7

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-26 21:41:28

问题


In my project I want to capture image from my webcam.

I configured step by step following the instructions from this "OpenCV-JavaCV : eclipse project configuration windows 7" blog post.

After configuration is finished, i tested samples codes and the application found my webcam

SETUP: Setting up device 0

SETUP: Namuga 1.3M Webcam

SETUP: Couldn't find preview pin using SmartTee

SETUP: Capture callback set

SETUP: Device is setup and ready to capture.

and then i got an error which is .dll error.

I use windows 7 x64.

Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\javacpp153028723186\jniopencv_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:418)
at com.googlecode.javacpp.Loader.load(Loader.java:368)
at com.googlecode.javacpp.Loader.load(Loader.java:315)
at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:131)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.googlecode.javacpp.Loader.load(Loader.java:334)
at com.googlecode.javacpp.Loader.load(Loader.java:315)
at com.googlecode.javacv.cpp.opencv_core$CvArr.<clinit>(opencv_core.java:158)
at com.googlecode.javacv.VideoInputFrameGrabber.grab(VideoInputFrameGrabber.java:158)
at GrabberShow.run(GrabberShow.java:24)
at java.lang.Thread.run(Unknown Source)

How can i solve this problem?


回答1:


Check whether your Opencv version and JavaCv versions are matching each other. You can check that on the readme file on javacv-bin it specifically say about the required version of the opencv.




回答2:


Unsatisfied link means that not all native code libraries required by jniopencv_core.dll could be found.

Did you deploy them all or just jniopencv_core.dll?




回答3:


I faced this problem on Windows XP and Windows 7, and this is how I fixed it on both platforms, using Netbeans 7.2:

Install all required software:

  • FFmpeg (32-bit shared): Zeranoe FFmpeg offers win32 builds. Download and extract ffmpeg-20121020-git-04bf2e7-win32-shared.7z. Place its content at C:\ffmpeg.

Note: make sure C:\ffmpeg\bin is a valid path.

  • OpenCV 2.4.2 (32-bit): download OpenCV-2.4.2.exe and extract it. Place its content at C:\opencv.

Note: make sure C:\opencv\build\x86\vc10\bin is valid path.

  • JavaCV 0.2: download javacv-0.2-bin.zip and extract it. Move the extracted folder to C:\javacv-bin.

  • Microsoft Visual C++ redistributable package (32-bit): download and install vcredist_x86.exe.

Configure the environment:

  • Edit the environment variable PATH and append the following paths at the end:

C:\ffmpeg\bin;C:\opencv\build\x86\vc10\bin

Now you ready to create a new Netbeans project and test your application. But before you compile it,dDon't forget to right-click the Libraries folder at the pProjects window* and click Add Jar/FOLDER to select all the .jar files located at C:\javacv-bin.




回答4:


Make sure you have the vm arg -Djava.library.path=<path-to-native> that points to the directory with your dlls.



来源:https://stackoverflow.com/questions/10790613/javacv-unsatisfiedlinkerror-in-windows-7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!