QT使用预编译头技术提高编译速度

一、预编译头含义:

	预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(windows通常是以.pch为扩展名的),这个文件就称为预编译头文件,这些预先编译好的代码可以是任何的C/C++代码,但是必须是稳定的,在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。
	要使用预编译头首先需要指定一个头文件,包含工程中不会经常改变的代码和其他的头文件,MFC默认为stdfax.h。

二、C++使用预编译头

	1、添加一个stdafx.h文件(名字随便取, 这里用了VS默认提供的名称), 在这个.h文件里include要使用的头文件(一般是外部的库, 自己写的不常变的头文件也可以加进来)
	2、 添加一个stdafx.cpp文件, 并include "stdafx.h"
	3、项目属性-->c/c++-->Precompiled设置为Use Precompiled Header, stdafx.h
	4、stdafx.cpp属性-->c/c++->Precompiled设置为Create Precompiled Header, stdafx.h

注:如果使用了预编译头,,必须在每个.cpp文件最开头包含该头文件。

三、QT使用预编译头

	创建stable.h,在.pro文件中加入以下代码:
	CONFIG+=precompile_header  #使用预编译头
	PRECOMPILED_HEADER=stable.h
	QMAKE_CXXFLAGS += /MP    #指定/mp编译选项,编译器将使用并行编译,同时起多个编译进程并行编译不同的cpp

你可能感兴趣的:(QT)