2015-01-07 19 views
17

ho provato a compilare OpenCV raccolti 3,0 alfa per Qt Creator 5.4 con CMake 3.1.0, ma ho l'errore:OpenCV 3.0 videoio errore

[ 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 

Ho selezionato:

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

Il resto del le impostazioni sono predefinite. Il mio sistema operativo è Windows 7 a 64 bit. Fonte libreria OpenCV: http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0-alpha/

Cosa c'è che non va? Qualche idea?

risposta

32

Ho appena incontrato lo stesso problema durante la compilazione di opencv3.0.0 su Windows con mingw. Ho trovato una soluzione seguendo questo link.

Andare nel repository dove si trovano i sorgenti opencv.

Per me era "C:/opencv/sources /".

Vai alla cartella "cmake /" e cercare il file denominato "OpenCVCompilerOptions.cmake"

Basta commentare la linea:

add_extra_compiler_option(-Werror=non-virtual-dtor) 

quindi dovrebbe diventare

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

Ora, sei bravo a configurare e generare il makefile con cmake, la riga di comando di mingw32-make dovrebbe funzionare correttamente.

+0

Funziona per me. Grazie! – Khue

+2

Il problema si verifica ancora e la soluzione funziona anche con OpenCV 3.1, Qt 5.5 con MinGW 4.92, Cmake 3.4.0 – serigado

Problemi correlati