原文:https://beondxin.blog.csdn.net/article/details/98480663
临时有需求写些小的任务,比如文件流操作,图片加水印等完成快速部署,或者比较大的项目,编译速度过慢,这时就需要设置预编译。建完新工程实现快速部署和编译。
qt使用预编译只需要在.pro或者任意一个.pri里添加两行就可以了
CONFIG += precompile_header
PRECOMPILED_HEADER=$$PWD/stable.h
我分享下我常用的pro模板和预编译文件,便于快速部署
QT += core gui network sql serialport widgets
#qt引用模块 核心功能、界面、网络、串口
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#过程文件存放位置
MOC_DIR = temp/moc #指定moc命令将含Q_OBJECT的头文件转换成标准.h文件的存放目录
RCC_DIR = temp/rcc #指定rcc命令将.qrc文件转换成qrc_*.h文件的存放目录
UI_DIR = temp/ui #指定rcc命令将.qrc文件转换成qrc_*.h文件的存放目录
OBJECTS_DIR = temp/obj #指定目标文件(obj)的存放目录
#指定生成的应用程序放置的目录
DESTDIR = bin
#指定生成的应用程序名和图标
TARGET = YX_case
RC_ICONS= myico.ico
#工程中包含的资源文件
DEFINES += QT_DEPRECATED_WARNINGS #定义编译选项,在.h文件中就可以使用:#ifdefine xx_xx_xxx
#指定编译器选项和项目配置
CONFIG += warn_on #告诉qmake要把编译器设置为输出警告信息的。
CONFIG += precompile_header #可以在项目中使用预编译头文件的支持。
#预编译
PRECOMPILED_HEADER=$$PWD/stable.h
//stable.h
#if defined __cplusplus
#include <iostream>
#include <vector>
#include <QApplication>
#include <QtCore>
#include <QtGui>
#include <QTimer>
#include <QtNetwork>
#include <QTextCodec>
#include <QThread>
#include <windows.h>
#include <QtSql>
#if (QT_VERSION > QT_VERSION_CHECK(5,0,0))
#include <QtWidgets>
#endif
#define BOOL_VERIFY(emStatus_bool,switch_bool) \
if (emStatus_bool == true){return true;}\
else{return false;}
#define NULL_VERIFY(emStatus_null,switch_null) \
if (emStatus_null != NULL){return true;}\
else{return false;}
#define AppPath qApp->applicationDirPath()
#define TIMEMS qPrintable(QTime::currentTime().toString("HH:mm:ss zzz"))
#define TIME qPrintable(QTime::currentTime().toString("HHmmss"))
#define QDATE qPrintable(QDate::currentDate().toString("yyyy-MM-dd"))
#define QTIME qPrintable(QTime::currentTime().toString("HH-mm-ss-zzz"))
#define DATETIME qPrintable(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"))
#define STRDATETIME qPrintable(QDateTime::currentDateTime().toString("yyyy-MM-dd-HH-mm-ss"))
#define STRDATETIMEMS qPrintable(QDateTime::currentDateTime().toString("yyyy-MM-dd-HH-mm-ss-zzz"))
#pragma execution_character_set("utf-8")
#endif