gcc是GUN compiler Collection (GUN编译器套件),也可以简单理解为编译器,他可以编译多种语言。
make是批处理工具,通过调用makefile文件(抽象层次很低)中的命令来进行多文件编译和链接。maekfile + make可以认为是unix下的项目管理工具。
cmake是跨平台的项目管理工具。在windows下会生成visual studio的工程,在Linux下会生成makefile。还可以生成exlipse工程文件。cmake是抽象层次更高的项目管理工具,cmake命令执行的是CMakeLists.txt文件。
qmake是qt专用的项目管理工具,对应的工程文件是pro文件,在Linux下也会生成makefile。
qt下用qmake -tp vc生成vs工程。
1、gcc
gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等),可以通过gcc命令逐个进行编译。
2、make
当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大。make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式—通过调用makefile文件中用户指定的命令来进行编译和链接的。
3、makefile
makefile是什么?简单的说就像一首歌的乐谱,make工具就像指挥家,指挥家根据乐谱指挥整个乐团怎么样演奏,make工具就根据makefile中的命令进行编译和链接的。makefile命令中就包含了调用gcc(