Windows7中的Javacv未满足链接错误

Windows7中的Javacv未满足链接错误,java,windows-7,opencv,javacv,unsatisfiedlinkerror,Java,Windows 7,Opencv,Javacv,Unsatisfiedlinkerror,在我的项目中,我想从我的网络摄像头中捕获图像 我按照本文中的说明一步一步地进行配置 配置完成后,我测试了示例代码,应用程序找到了我的网络摄像头 安装程序:正在设置设备0 设置:Namuga 1.3M网络摄像头 安装程序:无法使用SmartTee找到预览pin 设置:捕获回调集 设置:设备已设置并准备好捕获 然后我得到一个错误,是.dll错误 我使用Windows7x64 Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError:

在我的项目中,我想从我的网络摄像头中捕获图像

我按照本文中的说明一步一步地进行配置

配置完成后,我测试了示例代码,应用程序找到了我的网络摄像头

安装程序:正在设置设备0

设置:Namuga 1.3M网络摄像头

安装程序:无法使用SmartTee找到预览pin

设置:捕获回调集

设置:设备已设置并准备好捕获

然后我得到一个错误,是.dll错误

我使用Windows7x64

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)
线程“thread-2”java.lang.UnsatifiedLinkError中的异常:C:\Users\Administrator\AppData\Local\Temp\javacpp153028723186\jniopencv_core.dll:找不到依赖库 位于java.lang.ClassLoader$NativeLibrary.load(本机方法) 位于java.lang.ClassLoader.loadLibrary1(未知源) 位于java.lang.ClassLoader.loadLibrary0(未知源) 位于java.lang.ClassLoader.loadLibrary(未知源) 位于java.lang.Runtime.load0(未知源) 位于java.lang.System.load(未知源) 位于com.googlecode.javacpp.Loader.loadLibrary(Loader.java:418) 位于com.googlecode.javacpp.Loader.load(Loader.java:368) 位于com.googlecode.javacpp.Loader.load(Loader.java:315) 在com.googlecode.javacv.cpp.opencv_core.(opencv_core.java:131) 位于java.lang.Class.forName0(本机方法) 位于java.lang.Class.forName(未知源) 位于com.googlecode.javacpp.Loader.load(Loader.java:334) 位于com.googlecode.javacpp.Loader.load(Loader.java:315) 在com.googlecode.javacv.cpp.opencv_core$CvArr(opencv_core.java:158) 位于com.googlecode.javacv.VideoInputFrameGrabber.grab(VideoInputFrameGrabber.java:158) 运行(GrabberShow.java:24) 位于java.lang.Thread.run(未知源)
如何解决此问题?

不满意的链接意味着无法找到jniopencv_core.dll所需的所有本机代码库


您是全部部署了它们还是仅部署了jniopencv_core.dll?

确保您有vm arg
-Djava.library.path=
,它指向带有dll的目录。

检查您的Opencv版本和JavaCv版本是否相互匹配。您可以在javacv-bin上的自述文件中查看它是否明确说明了所需的opencv版本

我在Windows XP和Windows 7上遇到了这个问题,这就是我在这两种平台上使用Netbeans 7.2解决这个问题的方法:

安装所有必需的软件:
  • FFmpeg(32位共享):提供win32版本。下载并摘录。将其内容放在
    C:\ffmpeg
注意:确保
C:\ffmpeg\bin
是有效路径

  • OpenCV 2.4.2(32位):下载并解压缩它。将其内容放在
    C:\opencv
注意:确保
C:\opencv\build\x86\vc10\bin
是有效路径

  • JavaCV 0.2:下载并解压缩它。将提取的文件夹移动到
    C:\javacv-bin

  • < > > P>强微软Visual C++可重新分配包<强>(32位):下载和安装。

配置环境:
  • 并在末尾附加以下路径:
C:\ffmpeg\bin;C:\opencv\build\x86\vc10\bin


现在,您可以创建一个新的Netbeans项目并测试您的应用程序了。但在编译之前,请不要忘记右键单击pProjects窗口*中的文件夹,然后单击添加Jar/文件夹,以选择位于
C:\javacv bin
的所有.Jar

文件。我下载了opencvSuperpack,提取了C:>并添加了环境变量。我不明白如果有多个DLL文件,我应该做什么?你需要让JVM能够找到所有的DLL。你能给我更多关于如何找到所有DLL到JVM的路径的信息吗?我不熟悉确切的软件包,不能给你更好的说明。如果您完全按照说明操作(包括32/64位版本的JVM),请联系编写人员并提出错误报告。此问题已成功回答。请检查答案,向帮助您的人投票,并单击成功解决您问题的答案旁边的复选框,将其标记为正式答案。