【问题标题】:Javacv UnsatisfiedLinkError in windows 7Windows 7中的Javacv UnsatisfiedLinkError
【发布时间】:2012-05-28 21:31:20
【问题描述】:

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

我按照"OpenCV-JavaCV : eclipse project configuration windows 7" blog post 的说明一步一步配置。

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

SETUP:设置设备 0

设置:Namuga 1.3M 网络摄像头

设置:使用 SmartTee 找不到预览图钉

SETUP:捕获回调集

SETUP:设备已设置并准备好捕捉。

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

我使用的是 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)

我该如何解决这个问题?

【问题讨论】:

  • 此问题已成功回答。请查看答案,为帮助过您的人投票,然后点击已成功解决您问题的答案旁边的复选框,将其标记为官方答案。

标签: java windows-7 opencv javacv unsatisfiedlinkerror


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    不满意的链接意味着 jniopencv_core.dll 需要的所有原生代码库都找不到。

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

    【讨论】:

    • 我下载了ganeshtiwaridotcomdotnp.blogspot.com/2011/12/… opencvSuperpack 并提取了 c:\ 并添加了环境变量。我不明白我应该做什么
    • 是否有多个 DLL 文件?您需要 JVM 能够找到所有这些。
    • 你能给我更多关于我如何将所有 DLL 路径指向 JVM 的信息吗?最好的问候
    • 我对具体的软件包不熟悉,不能给你更好的指导。如果您完全按照说明进行操作(包括 JVM 的 32/64 位版本),请联系编写它的人并提出错误报告。
    【解决方案3】:

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

    安装所有必需的软件:

    注意:确保C:\ffmpeg\bin 是有效路径。

    • OpenCV 2.4.2(32 位):下载OpenCV-2.4.2.exe 并解压。将其内容放在C:\opencv

    注意:确保C:\opencv\build\x86\vc10\bin 是有效路径。

    • JavaCV 0.2:下载javacv-0.2-bin.zip并解压。将解压后的文件夹移至C:\javacv-bin

    • Microsoft Visual C++ 可再发行包(32 位):下载并安装vcredist_x86.exe

    配置环境:

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

    现在您已准备好创建一个新的 Netbeans 项目并测试您的应用程序。但在编译之前,不要忘记在 pProjects 窗口*中右键单击 Libraries 文件夹,然后单击 Add Jar/FOLDER 以选择所有 。 jar 文件位于C:\javacv-bin

    【讨论】:

      【解决方案4】:

      确保你有 vm arg -Djava.library.path=&lt;path-to-native&gt; 指向你的 dll 所在的目录。

      【讨论】:

        猜你喜欢
        • 2012-05-28
        • 2016-01-04
        • 1970-01-01
        • 2017-07-09
        • 2014-08-12
        • 1970-01-01
        • 1970-01-01
        • 2015-07-07
        • 1970-01-01
        相关资源
        最近更新 更多