Ask Your Question

Revision history [back]

First time I tried to use openCV today and I had the same issue. Eventually I switched version; from 3.4.2 to 2.4.13.6 and that worked fine, but I needed some of the things from 3.x so I ended up going with 3.3.1.

So... why doesn't 3.4.2 work for us? Pretty much all .dll files have dependencies. If you want to find out what they are, Visual Studio comes with a nice little command tool - dumpbin. If you use it on 3.3.1 you get the following:

Dump of file opencv_java331.dll

File Type: DLL

Image has the following dependencies:

MSVFW32.dll
AVIFIL32.dll
AVICAP32.dll
KERNEL32.dll
USER32.dll
GDI32.dll
ole32.dll
OLEAUT32.dll
COMDLG32.dll
ADVAPI32.dll

I have all those dll files in my windows\system32 folder. If you run dumpbin on 3.4.2, the dependencies has changed and several of those dll files are not on my system.

Dump of file opencv_java342.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

So try an older version. If you really need to use 3.4.2, you need to get hold of all those dll files. Good luck.