Я использую 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
выпуске репозитория .