编译 OpenCV 3.1.0 videoio 错误
Posted
技术标签:
【中文标题】编译 OpenCV 3.1.0 videoio 错误【英文标题】:Compilation of OpenCV 3.1.0 videoio error 【发布时间】:2016-10-02 01:20:44 【问题描述】:我正在尝试使用 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/对于另一个项目,我已经用 Mingw 4.9.3 编译了 Opencv3.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 中为我工作
【讨论】:
以上是关于编译 OpenCV 3.1.0 videoio 错误的主要内容,如果未能解决你的问题,请参考以下文章
[opencv3.2cmake error ] sys/videoio.h no such file or directories
OpenCV——释放时错误[SourceReaderCB::~SourceReaderCB terminating async callback]解决方案