2015-01-07 23 views
17

tôi đã cố gắng để biên dịch OpenCV 3.0 thư viện alpha cho Qt Creator 5.4 với CMake 3.1.0, nhưng tôi có lỗi:OpenCV 3.0 videoio lỗi

[ 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 

tôi chọn:

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

Phần còn lại của cài đặt mặc định. Hệ điều hành của tôi là Windows 7 64 bit. Thư viện OpenCV nguồn: http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0-alpha/

Điều gì là sai? Bất kỳ ý tưởng?

Trả lời

32

Tôi vừa gặp sự cố tương tự khi biên dịch opencv3.0.0 trên cửa sổ bằng mingw. Tôi đã tìm thấy một giải pháp sau đây link.

Đi vào kho lưu trữ nơi có nguồn opencv.

Đối với tôi, đó là "C:/opencv/sources /".

Chuyển đến "cmake /" thư mục và tìm kiếm các file có tên "OpenCVCompilerOptions.cmake"

Bạn chỉ cần nhận xét dòng:

add_extra_compiler_option(-Werror=non-virtual-dtor) 

Vì vậy, nó sẽ trở nên

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

Bây giờ, bạn nên cấu hình và tạo ra makefile với cmake, dòng lệnh mingw32-make sẽ hoạt động tốt.

+0

Nó phù hợp với tôi. Cảm ơn! – Khue

+2

Sự cố vẫn xảy ra và giải pháp cũng hoạt động cho OpenCV 3.1, Qt 5.5 với MinGW 4.92, Cmake 3.4.0 – serigado

Các vấn đề liên quan