Ошибка OpenCV 3.0 videoio
Я попытался скомпилировать альфа-библиотеку OpenCV 3.0 для Qt Creator 5.4 с CMake 3.1.0, но у меня есть ошибка:
[ 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/
Что не так? Любые идеи?
Ответы
Ответ 1
Я просто столкнулся с той же проблемой при компиляции opencv3.0.0 на windows с mingw.
Я нашел решения, следующие за этой ссылкой .
Перейдите в репозиторий, в котором расположены источники 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 должна работать нормально.