CSDN开通已经好久,但是一点点东西没有贡献过,这是第一篇,就从简单的开始吧
一:编译前准备:
1. 需要下载并且正确安装好QT(配置好MinGW编译器)
2. 将QT安装路径下的MinGW \ bin加入到系统的Path环境变量中。
3. 下载好你需要的版本的opencv(http://opencv.org/downloads.html)
4. 下载CMake(http://www.cmake.org/cmake/resources/software.html) ,以下(图1.1)是CMake的下载界面,选择Windows(Win32 Installer)下载并且安装。
图1.1
二:编译阶段
1. 打开你安装的CMake中的bin目录,双击打开CMake。打开的图面如(图1.2)所示
图1.2
说明:CMake中的“Where is the source code”中存放的是源码路径,下载的opencv解压或者安装后的目录。
“Where is the build the binaries”指定编译的结果存放的路径,即目标路径。
2. 使用CMake编译OpenCV。配置源码路径与生成的目标路径
(2.1)源码路径:下载的opencv解压或者安装后的目录。相应的目录包含如下图1.3所示的文件夹(不同的版本有可能不同)
图1.3
(2.2)目标路径:可以选择任意的地方,该路径最终会存放的是Opencv编译后的静态库lib和动态库bin
3.上述的源码路径和目标路径都配置好的时候点击Config按键,来进行配置。点击Config后会出现如下图1.4所示
图1.4
由于QT使用的是MingGW编译器,因此需要选择MinGW以及要指定特定的编译器(MinGW下的Gcc和G++),点击“Next”出现如下图1.5所示,分别配置QT路径下的MinGW/bin下的gcc和g++编译器。然后点击“Finish”.完成配置
图1.5
4. 上述的完成之后会完成配置的任务,配置任务完成后。点击"Generate".
5. 使用cmd进入命令行,进入目标路径下,输入mingw32-make命令开始编译
等上述全部完成便会完成了相应的编译操作,在目标路径中的lib和bin下便是生成的Opencv的静态库和动态库文件。
在编译Opencv2.1时,会出现“在编译过程中发现了一个错误:/src/highgui/../../3rdparty/lib/libvideoInput.a
(videoInput.o):videoInput.cpp:(.text+0x6e1e): undefined reference to `_Unwind_SjLj_Unregister'”
经查找发现是2.1一个通病,需要将http://pyopencv.googlecode.com/files/libvideoInput.a下载的文件替换原文件。然后重新
进入目标路径执行mingw32-make便可完成最终的Opencv编译