2015-01-07 16 views
17

Ich versuchte OpenCV 3.0 Alpha-Bibliothek für Qt Creator 5.4 mit CMake 3.1.0, aber ich habe Fehler zu kompilieren:OpenCV 3.0 videoio Fehler

[ 44%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap 
_dshow.cpp.obj 
D:\opencv\sources\modules\videoio\src\cap_dshow.cpp:122:11: error: base class 's 
truct IUnknown' has accessible non-virtual destructor [-Werror=non-virtual-dtor] 

interface IEnumPIDMap : public IUnknown 
     ^
D:\opencv\sources\modules\videoio\src\cap_dshow.cpp:141:11: error: base class 's 
truct IUnknown' has accessible non-virtual destructor [-Werror=non-virtual-dtor] 

interface IMPEG2PIDMap : public IUnknown 
     ^
D:\opencv\sources\modules\videoio\src\cap_dshow.cpp:231:11: error: base class 's 
truct IUnknown' has accessible non-virtual destructor [-Werror=non-virtual-dtor] 

interface ISampleGrabberCB : public IUnknown 
     ^
D:\opencv\sources\modules\videoio\src\cap_dshow.cpp:245:11: error: base class 's 
truct IUnknown' has accessible non-virtual destructor [-Werror=non-virtual-dtor] 

interface ISampleGrabber : public IUnknown 
     ^
cc1plus.exe: some warnings being treated as errors 
modules\videoio\CMakeFiles\opencv_videoio.dir\build.make:150: recipe for target 
'modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj' failed 
mingw32-make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dsho 
w.cpp.obj] Error 1 
CMakeFiles\Makefile2:2719: recipe for target 'modules/videoio/CMakeFiles/opencv_ 
videoio.dir/all' failed 
mingw32-make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2 

makefile:136: recipe for target 'all' failed 
mingw32-make: *** [all] Error 2 

I ausgewählt:

CMAKE --> CMAKE_BUILD_TYPE = Debug 
WITH --> WITH_EIGEN = 0 
WITH --> WITH_OPENGL = 0 
WITH --> WITH_IPP = 0 

Der Rest Einstellungen ist Standard. Mein Betriebssystem ist Windows 7 64 Bit. OpenCV-Bibliothek Quelle: http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0-alpha/

Was ist los? Irgendwelche Ideen?

Antwort

32

Ich lief gerade in das gleiche Problem beim Kompilieren von opencv3.0.0 auf Windows mit mingw. Ich fand eine Lösung folgende link.

Gehen Sie in das Repository, in dem sich Opencv-Quellen befinden.

Für mich war es "C:/opencv/sources /".

Gehen Sie auf die "Cmake /" Ordner und die Suche nach der Datei mit dem Namen "OpenCVCompilerOptions.cmake"

Sie die Zeile nur einen Kommentar:

add_extra_compiler_option(-Werror=non-virtual-dtor) 

So sollte es

werden
#add_extra_compiler_option(-Werror=non-virtual-dtor) 

Nun, Sie sind gut zu konfigurieren und generieren das Makefile mit cmake, die mingw32-make-Befehlszeile sollte gut funktionieren.

+0

Es funktioniert für mich. Vielen Dank! – Khue

+2

Problem tritt immer noch auf und Lösung funktioniert auch für OpenCV 3.1, Qt 5.5 mit MinGW 4.92, Cmake 3.4.0 – serigado