• QT预编译加快速度(转)


    原文: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
    
    

    在这里插入图片描述

  • 相关阅读:
    java接口鉴权之sign签名校验与JWT验证
    完整的后端开发流程-深入浅出Java线程池:使用篇
    Java多线程加法计算--Java识别静态验证码和动态验证码
    超全面设计指南:如何做大屏数据可视化设计?
    vue+echarts+datav大屏数据展示及实现中国地图省市县下钻
    开源」目前见过的最好的开源OA产品架构师之路(一):何时选用合适的语言
    如何做大屏数据可视化设计?
    Spring项目方便调试打印请求信息点击跳转到方法
    Echart生成的报表导出为PDF
    java环境变量一键配置
  • 原文地址:https://www.cnblogs.com/xiaohai123/p/16281168.html
Copyright © 2020-2023  润新知