1.先qmake。
由.pro文件生成Makefile文件到构建目录,makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模 块及库等)
构建目录见:
2.再构建
构建[mingw32-make、moc、uic等]是增量编译,只编译有变动部分,同时生成.exe,还有许多.o目标文件; 默认会自动生成debugh或者release目录存放文件。
exe生成目录:由宏DESTDIR设置。
3.最后运行
如果有改动则根据已有的Makefile进行重新编译、执行,否则就直接运行已有的.exe文件;
如果是使用命令行执行的话:
1.使用qmake生成与平台无关的pro文件。 qmake -project
2.利用pro文件生成与平台相关的Makefile文件 。Makefile文件中包含了要创建的目标文件和可执行文件、创建目标文件所依赖的文件和创建每个目标文件时需要运行的命令等信息。 qmake 也是图形化操作的菜单执行qmake
3.使用make命令完成自动编译,make就是通过读入Makefile文件的内容来执行编译工作的。会为每个源文件生成一个对应的.o文件,最后将目标文件链接生成最终的可执行文件。 make debug // make release
另外:清除命令(即clean)。是对构建(即make命令)的清除。
延伸:提高QT Creator编译速度
方法一:配置预编译头Stable.h
1)工程.PRO文件加入下面代码
CONFIG+=precompile_header
PRECOMPILED_HEADER=stable.h
(2)在建立头文件Stable.h,代码内容为
#ifndef STABLE_H
#define STABLE_H
#include<QtCore>
#include<QtGui>
#endif // STABLE_H
解释:MFC里这个文件一般叫stdafx.h
然后在 stable.h里 包含你所用到的所有 Qt 头文件,如果你用了很多qt的类可以直接包含所有。
方法2:启动多核编译
1、如果是VS的MSVC编译器,可以在 .pro里加入下面一行
QMAKE_CXXFLAGS += /MP
指定/mp编译选项,编译器将使用并行编译,同时起多个编译进程并行编译不同的cpp。
2、如果是MinGW编译器:
项目-》构建设置-》构建步骤-》make详情-》make参数 ,填入-j4,之后编译就飕飕的了,如果处理器八个核填-j8。