Qt之预编译头文件的使用[备用]
预编译是指编译器首先编译某个头文件,在链接时会直接使用,从而加快编译速度.另外: Qt中的预编译头文件会自动导入,这个特性可以实现类似全局宏定义
详见[ Using Precompiled Headers ]
-
pro文件
# 添加预处理模块 include(PCH/PCH.pri)
-
PCH.pri
HEADERS += \ $$PWD/Tools.h \ $$PWD/stable.h # 设置预编译头文件 PRECOMPILED_HEADER = $$PWD/stable.h
-
stable.h
#ifndef STABLE_H #define STABLE_H // Add C includes here #if defined __cplusplus // Add C++ includes here #include "Tools.h" #include <QtCore> #include <QtGui> #include <QtWidgets> #include <QtNetwork> #endif #endif // STABLE_H
-
Tools.h
#ifndef TOOLS_H #define TOOLS_H #define qrdmg(x) QRandomGenerator::global ()->bounded (x) #define qout qDebug() << __FILE__ << __LINE__ << "==>" #endif // TOOLS_H
-
例子:
随便新建一个qt widget项目,pro中使用预编译头, 注意到代码并没有包含qt的库,但相关的类和宏定义的头文件已经被自动导入。