2015-01-07 6 views
17

Я попытался скомпилировать OpenCV 3.0 альфа-библиотеку для Qt Creator 5.4 с CMake 3.1.0, но у меня есть ошибка:OpenCV 3.0 videoio ошибки

[ 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 

Я выбрал:

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

Остальное по умолчанию. Моя ОС - 64-разрядная Windows 7. Источник библиотеки OpenCV: http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0-alpha/

Что не так? Есть идеи?

ответ

32

Я просто столкнулся с той же проблемой при компиляции opencv3.0.0 на windows с mingw. Я нашел следующие решения: link.

Зайдите в репозиторий, в котором расположены источники opencv.

Для меня это было «C:/opencv/sources /».

Перейти к "/ Cmake" папку и найдите файл с именем "OpenCVCompilerOptions.cmake"

Вы просто закомментируйте строку:

add_extra_compiler_option(-Werror=non-virtual-dtor) 

Так оно и должно стать

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

Теперь вы можете настроить и сгенерировать make-файл с помощью cmake, командная строка mingw32-make должна работать нормально.

+0

Это работает для меня. Благодаря! – Khue

+2

Проблема по-прежнему возникает, и решение также работает для OpenCV 3.1, Qt 5.5 с MinGW 4.92, Cmake 3.4.0 – serigado

Смежные вопросы