首页 > 解决方案 > 使用 Java 绑定识别 OpenCV 丢失的 DLL

问题描述

我正在使用OpenCV 版本opencv_java400-x64.dll提供的。它在我的系统()上运行良好。在其他用户的系统(通常)上,其中一些无法加载并收到错误Windows 10 ProWindows 7DLLjava.lang.UnsatisfiedLinkError: C:\...path...\opencv_java400-x64.dll: Can't find dependent libraries.

由于错误消息没有提供具体的细节,我想知道哪些DLLs 实际上缺少,所以我可以提供/安装它们。使用 Visual Studio 命令提示符工具时,我得到以下输出:

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.8.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>dumpbin /dependents "C:\...path...\opencv_java400-x64.dll"
Microsoft (R) COFF/PE Dumper Version 14.15.26726.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file C:\...path...\opencv_java400-x64.dll

File Type: DLL

  Image has the following dependencies:

    MSVFW32.dll
    AVIFIL32.dll
    AVICAP32.dll
    ole32.dll
    KERNEL32.dll
    USER32.dll
    OLEAUT32.dll
    MFPlat.DLL
    MF.dll
    MFReadWrite.dll
    d3d11.dll
    api-ms-win-downlevel-shlwapi-l1-1-0.dll

  Summary

       F6000 .data
        1000 .gfids
       DF000 .pdata
      819000 .rdata
       18000 .reloc
        1000 .rsrc
     21C8000 .text
        1000 .tls
      25B000 IPPCODE
        B000 IPPDATA
       15000 _RDATA

列出了依赖DLL项,但我仍然不知道哪些可能会丢失。我意识到安装Visual C++在某些情况下解决了这个问题,但不是全部。谷歌上的OpenCV具体搜索结果并不清楚解决这个问题(例如也不起作用)。DLL在任何基于 Windows 的操作系统上进行此特定工作的正确方法是什么?

有关我在OpenCV存储库问题中尝试的其他信息。

标签: javawindowsopencvdll

解决方案


原来api-ms-win-downlevel-shlwapi-l1-1-0.dll是失踪了。提供它解决了这个问题。有关更多信息,请参阅链接。


推荐阅读