编译OpenCV 3.1.0 videoio错误

时间:2016-10-02 01:20:44

标签: opencv

我试图用MingW 4.9.2编译Opencv 3.1.0,但我有跟随错误

modules\videoio\CMakeFiles\opencv_videoio.dir\build.make:187: 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:4340: recipe for target 'modules/videoio/CMakeFiles/opencv_
videoio.dir/all' failed
mingw32-make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2

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

我发现在cap_dshow.cpp构建期间是一个OpenCV构建错误。解决方案显示here没有必要,因为Opencv 3.1中的文件已经修复。

在Cmake阶段我改变了这个(通过Cmake GUI 3.4.3),但是没有用

CMAKE_BUILD_TYPE = Debug
WITH_EIGEN = 0
WITH_OPENGL = 0
WITH_IPP = 0
WITH_QT = 1

我已经尝试了this post中给出的解决方案,但不能正常工作

add_extra_compiler_option(-Werror=non-virtual-dtor)

我的目的是使用C ++,Opencv和QT的GUI设计师。我已经安装了库qt-5.4.0-x64-mingw492r0-sjlj,它附带了自己的MingW 4.9.2。 (PS /另一个proyect我用Mingw 4.9.3编译了Opencv3.1.0并且它的工作非常完美)

请有人帮忙!!!

1 个答案:

答案 0 :(得分:1)

在档案%OPENCV_HOME%\ sources \ modules \ videoio \ src \ cap_dshow.cpp

加入顶部:

#define STRSAFE_NO_DEPRECATE

在Qt 5.6.2,Mingw 4.9.2 OpenCV 3.2.0

中为我工作