先说一下背景:
- 最原始的,肯定是gcc命令,一点点自己编译,链接。类似于洗衣服自己手搓。
- 一级进化,原始方式程序员觉得繁琐。发明出来了make。用make来自动控制gcc来编译,链接。如何控制make呢?编写MakeFile文档,来操控make,让make来控制gcc。类似于有了个老款洗衣机。
- 二级进化,慢慢的,程序员觉得写MakeFile文档也很麻烦啊(老款洗衣机还是得自己插手啊)。有没有能生成MakeFile的程序?!于是有了cmake。cmake根据CmakeLists文档,生成MakeFile文档,然后用MakeFile文档控制make让其自动的去gcc整个过程。类似于有了全自动洗衣机。咋洗我也不用管了,按开关就行。
最后整个过程表象上就成了,我有了源代码后,写一个CmakeLists.txt就可以编译链接生成程序了。
举个简单栗子:
假如有个源代码helloSLAM.cpp:
//helloSLAM.cpp
#include<iostream>
int main()
{
std::cout<<"Hello SLAM!"<<