cmake是一款功能强大的“跨平台”编译工具,实现工程(c/c++等)在不同平台之间快速移植,cmake是在make基础上发展而来的,早起的make需要程序员写Makefile文件,进行编译,而cmake对Makefile进行封装,通过更上层的cmakelists.txt的编辑,轻松实现对复杂工程的组织。
背景
最近由于比赛需要,将基于vs2013的opencv工程移植到linux,曾经想学习cmake,但是没有系统学习,甚至不知道cmakelists.txt如何编写,这次实在是不能不学了,索性就好好的两天时间系统的学习一下。
文章思路
本文通过实现opencv的一个简单程序,以在windows下的vs2013平台和linux之间的移植为主线,介绍cmake的实现过程。由于涉及到调试方面的问题,因此,顺便简单介绍下linux下使用gdb进行调试的方法。
资料链接
- cmake实践:http://pan.baidu.com/s/1qXD7YUC“>百度云 密码:7i6f 已修正部分错误
- cmake-gui下载:MT.Queen的博客
在linux下编译opencv工程
建立工程目录
首先,通过以下指令建立相关的文件夹和文件
mkdir test //建立test目录
cd test //进入test目录
touch test.cpp //建立test.cpp源程序文件
touch CMakeLists.txt //建立cmake文件(**注意大小写**&#x