- 需求:Qt工程过大,每个文件都单独添加对应的库文件,繁琐而且执行速度过慢
- 实现:使用
Use Precompiled headers (PCH)
预编译头文件- note:
PCH
不会提高生成、编译文件的速度,可以提高运行程序的速度(实际使用感受),虽然理论上是极大提高编译速度
,但是不用额外添加重复的头文件确实很省心。
1 添加pch.h
工程里添加任意文件,这里我添加pch.h
代码如下:
// Add C includes here
#if defined __cplusplus
// Add C++ includes here
//#include <iostream>
#include <vector>
#include <QApplication>
#include <QObject>
#include <qglobal.h>
#include <QDir>
#include <QIntValidator>
//Add Qt includes here
#include <QToolTip>
#include <QDebug>
#include <QMainWindow>
#include <QDialog>
#include <QFileDialog> //文件选择对话框
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QTimer>
#include <QTextCodec>
#include <QThread> //多线程
#include <QXmlStreamWriter>
#include <QXmlStreamReader>
#include <QFile> //文件输入输出流
#include <QMessageBox> //提示框
//QT += sql //qt数据库文件
//#include <QDomDocument>
//#include <QtSql> //qt DataBase
//#include <QSqlDatabase> //qt Connect DataBase
#include <bits/c++config.h> //byte unsigned char类型
#include <QGraphicsScene>
#include <QGraphicsItem>
#include <QGraphicsPixmapItem>
#include <QGraphicsSceneWheelEvent>
//QT += network//Qt网络文件
//#include <QtNetwork>
//#include <QHostAddress>
//#include <QUdpSocket>
#include <QString>
#include <QMutex>//qt互斥锁
#include <QMutexLocker>
#include <QWaitCondition>
#include <QQueue>
#include <QMap> //map容器,存储电平值和频率的键值对
#include <QJsonObject> //json数据类型头文件
#include <QJsonArray>//json数据类型头文件
#include <QVariantMap>
#include <QJsonDocument>
#include <QDateTime>
#include <QtMath>
#include <QPainter>
#include <QProxyStyle>
//QT += webenginewidgets //Qt与html及js 交互文件
//#include <QWebEngineView>
//#include <QWebChannel>
//#include <QWebEnginePage>
//#include <QSharedMemory> //qt共享内存
#include <QMouseEvent>//自定义鼠标事件
#include <QVBoxLayout>
#include <QDesktopWidget>
#include <QPropertyAnimation>//动画效果
#include <QStandardItemModel>
#include <QPalette>
#include <QAction>
#include <QMenu>
#include <QMenuBar>
#include <QMovie>
#endif
2 pro文件里添加预编译
CONFIG += precompile_header
PRECOMPILED_HEADER = pch.h
3 更改生成编译文件的路径
MOC_DIR = tmp/moc
RCC_DIR = tmp/rcc
UI_DIR = tmp/ui
OBJECTS_DIR = tmp/obj
在pro文件中添加上述代码,可以使生成的编译文件分别对应存放到相应的路径
- Qt练习时长两年半,接qt,C++兼职,课设,指导等;
- VX:QAQ2333oooo
- QQ:1580947517