Cmake创建MakeFile(Opencv配置)

opencv环境配置:版本3.4/3.2(OpenCV-3.4.3) CMake:3.12.1
D:\OpenCv\opencv\build\x64\vc16\bin路径添加至环境变量中
CMake环境配置:
D:\Install_QT\bin路径添加至环境变量中(path中即可)
QT5环境变量配置:
D:\QT5\5.14.2\mingw73_32\bin路径添加至环境变量中(path中即可)
D:\QT5\Tools\mingw730_32\bin

sourcecode:D:\OpenCv\opencv\sources

build:D:\OpenCv\opencv\opencv_build

configure->指定QT中的mingw->默认或第二个

指定编译器:qt中编译器tools->mingw->bin->gcc/g++(c/c++)

finish

• 勾选 WITH_QT
• 勾选 WITH_OPENGL(默认已勾选)
勾选之后点击Configure,等到进度条读完之后,再次配置:
Qt5Concurrent_DIR --> D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\cmake\Qt5Concurrent
Qt5Core_DIR --> D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\cmake\Qt5Core
Qt5Gui_DIR --> D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\cmake\Qt5Gui
Qt5Test_DIR --> D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\cmake\Qt5Test
Qt5Widgets_DIR --> D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\cmake\Qt5Widgets
Qt5OpenGL_DIR --> D:\Qt\Qt5.9.4\5.9.4\mingw53_32\lib\cmake\Qt5OpenGL
CMAKE_BUILD_TYPE --> Release(设置为Release后编译完成只会生成release库,需要debug库的话等到编译完成将此处更改为Debug,重新执行下面的步骤则会在生成的release库的目录下生成debug库)
点击右上角的Add Entry,然后在弹窗中输入:
• QT_MAKE_EXECUTABLE
• FILEPATH
• D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\qmake.exe
• 然后点击OK- Generate ,进度条读完之后,配置完成。
• 更多配置提示
• 上一步已经配置完成,但是编译过程中会遇到编译错误,如果希望一次编译成功,可以进行下面的设置。或者直接在上一步Generate之后就进行编译,等到编译出现错误时再来配置。
• 不勾选 WITH_IPP
• 不勾选与TESTS有关的选项
• 不勾选 ENABLE_PRECOMPILED_HEADERS
• 不勾选WITH_MSMF
• 勾选 ENABLE_CXX11
• 编辑H:\opencv3.4.3\opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在约110行左右#include "DShow.h"上面添加#define NO_DSHOW_STRSAFE,#define STRSAFE_NO_DEPRECATE
• 编译命令
• 在构建目录buildOpencv下按shift+右键,打开终端,然后执行编译命令:
• mingw32-make 或 mingw32-make -j 8
• 注意:右侧带参数的命令是多线程编译,编译速度会快很多,但是使用多线程编译前最好先重启电脑或者关闭不必要的软件保证内存和
• CPU的占用较低状态,否则很有可能编译失败,编译失败的话也没关系可以改为单线程继续编译。
• mingw32-make install
• 编译完成(100%)之后执行安装命令,会在相关目录下生成库文件。
多线程编译错误,18%左右
解决:改为使用mingw32-make命令继续编译
C++11错误,25%左右
解决:打开 cmake-gui ,勾选 ENABLE_CXX11,然后重新Configure-Generate-mingw32-make
cap_dshow.cpp文件出错,43%左右
解决:
编辑H:\opencv3.4.3\opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在约110行左右#include "DShow.h"上面添加#define NO_DSHOW_STRSAFE,然后重新Configure-Generate-mingw32-make。编译debug版本出现该错误时在cap_dshow.cpp文件中添加#define STRSAFE_NO_DEPRECATE
cap_msmf.cpp文件出错,43%左右
解决:打开 cmake-gui ,不勾选WITH_MSMF,然后重新Configure-Generate-mingw32-make
添加OpenCV库到环境变量
添加 H:\opencv3.4.3\buildOpencv\install\x86\mingw\bin到系统环境变量(Path)中

你可能感兴趣的:(opencv,Cmake,Makefile,c++)