- gcc是GNU Compiler Collection(GNU编译器套件),也可以简单认为是编译器,它可以编译很多编程语言(包括C、C++、Object-C、Fortran、Java等)
- 当你的程序只有一个源文件,直接用gcc命令编译它。
- 但是当你的程序包含很多源文件,用gcc命令逐个去编辑,很容易混乱而且工作量大。
- 所以出现了make工具。make工具可以看成是一个智能批处理工具,它本身并没有编译和链接的功能,而是用类似批处理的方式通过makefile文件中用于指定的命令进行编译和链接。
- makefile文件是什么?简单的说就像一首歌的乐谱,make工具就像指挥家,指挥家根据乐谱指挥整个乐团怎样演奏,make工具就根据makefile中的命令进行编译和链接。
- makefile命令中包含调用gcc(也可以是其他编译器)去编译某个源文件命令。
- makefile在一些简单的工程完全可以人工手写,但当工程非常大的时候,手写makefile也是非常麻烦,如果换了平台makefile又要重新修改。
- 这时候出现cmake工具,cmake就可以更加简单的生成makefile文件给上面的make工具使用。当然cmake还有其他功能,可以跨平台生成对应平台能用的makefile,这样不需要自己修改。
- cmake是根据什么生成makefile?它又是根据一个叫CMakeList.txt文件(学名:组态档)去生成makefile
- 到最后CMakeList.txt文件谁写?答:还是自己写
- 如果用IDE,类似VS这些工具,一般都是自己弄好,你只需要按一下那个三角形。