Выявление недостающих библиотек DLL для OpenCV с использованием привязок Java - PullRequest
0 голосов
/ 01 ноября 2018

Я использую opencv_java400-x64.dll, предоставленный OpenCV release . Это хорошо работает в моей системе (Windows 10 Pro). В системах других пользователей (обычно Windows 7) некоторые из них не могут загрузить DLL и получить ошибку java.lang.UnsatisfiedLinkError: C:\...path...\opencv_java400-x64.dll: Can't find dependent libraries.

Поскольку в сообщении об ошибке не указаны конкретные подробности, мне интересно, какие DLL на самом деле отсутствуют, поэтому я могу предоставить / установить их. При использовании инструментов командной строки 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 конкретные результаты поиска в Google неясно при решении этой проблемы (например, это также не работает). Как правильно заставить этот конкретный DLL работать в любой операционной системе Windows?

Дополнительная информация о том, что я пытался в этом OpenCV выпуске репозитория .

1 Ответ

0 голосов
/ 01 ноября 2018

Оказывается, api-ms-win-downlevel-shlwapi-l1-1-0.dll пропал. Поставка это решило проблему. См. эту ссылку для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...