理解
开始接触linux时,编译代码习惯上gcc编译c代码,g++编译c++。
(gcc 将.c 按c编译,对.cpp按c++编译,g++将.c/.cpp都按照c++编译)
当写一个较大的文件时,通常分为多个子文件,这时编译就会非常麻烦!
所以出现了批处理工具make,通过makefile中的命令进行连接和编译。
如果文件变动较大,每次都要修改makefile文件,也是非常麻烦。
这时候就出现了CMake这个工具,根据CMakeLists.txt生成,写出CmakeList.txt后就不用每次都修改makefile
总而言之 CMake的好处有很多,它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件。开源,跨平台,适合管理大型项目。
简化编译过程(cmake + make)
安装:http://www.cmake.org/cmake/resources/software.html
参考:https://blog.csdn.net/kane8202/article/details/79495240
编译
为了好理解我先贴项目结构图。无强行要求但是习惯上这样最规范,逻辑清晰!
头文件在include中,源文件在src中,build则用来存放编译中生成的文件(因为会出现很多中间文件)
编译运行只需3步
1:cmake ..
//因为在build中编译
2: make
3:运行可执行文件
cmake执行后:
执行make并编译
CMakeLists.txt 基础写法模板: