一、概述
1、qmake:根据pro文件生成MakeFile文件,但此时还未生成.exe。什么情况下需要执行qmake呢,项目创建时,及项目文件结构发生变化,也就是增删文件时。
2、构建:构建是增量编译,只编译有变化的部分,同时生成.exe,还有许多.o目标文件
3、重新构建:是把所有部分都重新编译;
4、运行:如果有改动则根据已有的MakeFile进行重新编译、执行,否则就直接运行已有的.exe文件
5、清理:只留下.exe文件,构建时生成的文件被删除掉;
注意:构建和重新构建时,如果没有MakeFile文件,会根据pro文件等生成MakeFile后,再进行编译。
总结:所以执行顺序应该是:qmake-构建-运行。
二、makeFile作用
1、构建QT项目
QT应用程序通常由多个源文件组成,包括源代码文件、头文件、以及QT资源文件等。MakeFile定义了如何编译、链接和构建这些文件,以生成最终的可执行文件或库文件。
2、编译源代码
MakeFile文件用来描述源代码的编译规则,包括指定编译器、编译选项和相关的依赖文件等。通过MakeFile,可以确保只有修改的文件被重新编译,提高编译效率。
3、链接可执行文件或库文件
MakeFile还定义了如何将编译后的目标文件链接成可执行文件或库文件。它指定了链接器、库文件的位置和选项,确保正确地将各个目标文件组合在一起,生成可执行文件或库文件。
4、管理依赖关系
在QT项目中,源代码之间存在着依赖关系。MakeFile可以检测这些依赖关系,并自动决定需要重新编译的文件。这样,只有收到影响的文件被重新编译,避免了不必要的编译过程。
5、跨平台构建
MakeFile是一种通用的构建工具,能够在不同的操作系统和平台上使用。QT项目可以通过MakeFile实现跨平台构建,方便在不同的开发环境中进行开发和部署。