qt pro文件常用配置

概述

记录一下常用的项目pro文件的一些常用配置

常用配置

cpp 复制代码
QT       += core gui concurrent#添加concurrent并行处理模块
CONFIG += windeployqt#打包部署,项目->构建步骤->Make参数 添加windeployqt,编译自动打包

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#CONFIG += console
TARGET = MyApp
TEMPLATE = app


SOURCES += main.cpp\
        myapp.cpp \

HEADERS  += myapp.h \

FORMS    += myapp.ui

include(Src/Src.pri)#添加pri文件,pri
RC_ICONS = logo.ico#应用程序图标

OBJECTS_DIR = temp/obj#将中间文件放置temp文件夹下,避免debug目录下的文件混在一起
MOC_DIR = temp/moc
UI_DIR = temp/ui
RCC_DIR = temp/rcc

win32: LIBS += -L$$PWD/debug/ -lmylib#添加lib库(mylib.lib)
#win32: LIBS += -luser32

INCLUDEPATH += $$PWD/debug#添加头文件路径
INCLUDEPATH += $$PWD/Include
INCLUDEPATH += $$PWD/$$UI_DIR#这步必须加,不然在进行ui界面设计时会找不到UI_XXX.h文件

equals(QMAKE_COMPILER,"msvc"){#msvc下才屏蔽
    QMAKE_CXXFLAGS += /MP#启用多处理器编译,解决编译慢问题,方法二项目->构建步骤->Make参数 添加-j n(核心数≤实际核心数)
    QMAKE_CXXFLAGS_WARN_ON += -wd4819#屏蔽告警 warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
}

windeployqt打包

利用CONFIG添加windeployqt配置,然后在 项目->构建步骤->Make参数 添加windeployqt,如下图所示,可以实现自动打包,debug下打包会自动包含msvcp120d.dll、msvcr120d.dll、vccorlib120d.dll三个依赖库,通常手动使用命令windeployqt target.exe是不会包含这三个动态库的,需手动添加(release下对应msvcp120.dll、msvcr120.dll、vccorlib120.dll)

打包后会比其他方式打包多一个文件untitled3.windeployqt

untitled3.windeployqt 文件内容

添加中间文件

按如图所示,将中间文件放置temp文件夹下,避免debug目录下的文件混在一起

cpp 复制代码
OBJECTS_DIR = temp/obj
MOC_DIR = temp/moc
UI_DIR = temp/ui
RCC_DIR = temp/rcc

效果图

判断编译器版本,屏蔽告警C4819

cpp 复制代码
equals(QMAKE_COMPILER,"msvc"){#msvc下才屏蔽
    QMAKE_CXXFLAGS += /MP#启用多处理器编译,解决编译慢问题,方法二项目->构建步骤->Make参数 添加-j n(核心数≤实际核心数)
    QMAKE_CXXFLAGS_WARN_ON += -wd4819#屏蔽告警 warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
}
相关推荐
沫璃染墨12 小时前
《Qt从零入门系列(十五):Qt线程安全与锁机制详解——从QMutex到RAII与读写锁实战》
开发语言·c++·qt·安全·交互·线程·qt6.3
小豆庄16 小时前
视频脱敏引擎的追踪难题:转场误判定、ID撞号和淡入窗口
qt·算法·目标检测·音视频·视频·敏捷流程
小灰灰搞电子19 小时前
Qt 中使用 QSettings 存储结构体数据详解
开发语言·qt
LaoWaiHang1 天前
关于Qt中鼠标左键事件被子控件截留的处理
qt
初阳7852 天前
【基于Qt5仿音乐播放器(一)】——项目准备
qt·1024程序员节
kaixin_learn_qt_ing2 天前
Qt开发工程师
qt
ShineWinsu2 天前
对于Qt:信号与槽的解析
c++·qt·gui·lambda·信号·信号与槽·槽函数
努力实干3 天前
Qt/C++ 模块化设计与工程组织
开发语言·c++·qt
Lhan.zzZ3 天前
Qt:动态库模块框架设计
开发语言·c++·qt
qq_401700414 天前
TCP 长连接、心跳包与断线自动重连设计:工业级通信的“不死鸟”架构
网络·qt·tcp/ip