首先,这些东西都是跟编译项目有关系的。它们之间的关系请从上至下一段一段地看: 1.GCCGCC全称是GNU Compiler Collection,是一个编译套件。我们可以通过gcc/g++来编译目标项目。 2.Makefile简单地说Makefile就是一个包含一堆有条理的gcc/g++编译命令的文件,便于提高开发者的工作效率。 3.Make(还是简单地说吧,)Make工具就是“读取”并执行Makefile文件中的编译指令,从而进行项目编译。 4.CMakelists当项目非常庞大,目录结构非常复杂时,手写Makefile就是一件非常恐怖的事情了,你需要在不同的目录底下写不同的Makefile,这可能有非常多个。 5.CMake类似Make工具的功能,CMake工具就是“读取”并执行CMakelists.txt文件中的语句,来生成对应的Makefile。然后开发者就可以通过Make工具来“执行”Makefile了。 CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object)).它的作用和qt的qmake是相似的。 |
|