编译OpenCV源代码
想要在 Windows 平台下生成 OpenCV 的解决方案,需要一个名为 CMake 的开源软件。
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
1.下载安装CMake
在官网:https://cmake.org/ 上下载,进入下载页面,选择对应版本,在安装的时候记得勾选添加桌面图标和自动添加PATH路径。
安装完成后点击桌面图标打开:
2.使用 CMake 生成 OpenCVd 源代码工程的解决方案
1)第一步:运行 cmake-gui
2)指定 OpenCV的安装路径
选择安装OpenCV的文件目录下的sources文件夹。
3)指定解决方案的存放路径
4)第一次 Configure
路径都设置好后,点击 Confugure 按键,进行第一次配置过程。
然后会跳出进行编译器选择的对话框,根据自己的安装的编译器进行选择,我是安装了 VS2017
选择完后点击 finish, 开始 CMake 的第一次源码配置过程
看到 Config done 字样,第一次的源码配置就完成了
5)第二次 Configure
第一次配置之后还需第二次配置,于是再次单击 Configure 按键。
6)单击 Generate 按钮,成功生成项目
出现 Generate done ,说明项目成功生成,接下来去之前指定的路径下寻找解决方案了。
3.编译OpenCV源码
打开刚刚生成的 OpenCV.sln 解决方案,可以看到一个工程,之后按下 F5 或使用其他操作来启动调试。
编译了好几分钟,编译完成后会得到如图所示的警告,原因是 OpenCV 的源代码工程将 ALL_BUILD 这个项目设为了启动项,编译成功后,就会默认运行它,而 ALL_BUILD 是一个项目生成周边的杂项,不是 exe 文件,本身不可以运行,因此会弹出自动提示框。
若想让此报错的对话框不显示,指定一个另外的启动项即可:在解决方案资源管理器里,对需要设为启动项的那个项目右击,在弹出的菜单项中点击 “设为启动项(j)”进行设定。
编译 OpenCV ,其实就是得到一些二进制的生成文件,如 dll、lib 和 exe。因为是在 debug 下编译的,所以在工程目录 bin\debug 下会生成 OpenCV 对应版本的依赖库,可以供以后调用此次编译的 OpenCV 时使用。