发布时间:2026/8/5 17:33:27
Qt 通用pro配置 提供一个通用的Qt pro工程配置#-------------------------------------------------##PS:应将此配置放置在pro文件的最后,否则可能会不起作用#PS:示例中的 contains 可以替换为 equals,行后面的{一定不要换行否则不能识别# # 以下配置为程序输出目录配置模板,根据需要自行修改 # 其中,默认认为整个工程使用SubDir工程,且子工程为非SubDir工程.# 如有不同,请根据情况进行修改 # # # 主要就是配置TARGET(目标名字)以及DESTDIR(目标目录),DLLDESTDIR(动态库自动复制目录)# 将TARGET在debug状况下加上d后缀 # 将DESTDIR设置到bin目录下,而在目标为动态库时修改为放入lib目录下 # 将DLLDESTDIR设置为bin目录,用于将动态库的自动发布复制 # # 配置后,release以及debug目录将会出现在目标路径的output文件夹下 # 并且会将子工程的ui生成文件放入子工程相应的ui目录下 # #-------------------------------------------------#设置UI文件目录 UI_DIR./uiCONFIG(debug,debug|release){#设置debug配置下编译生成文件的路径 TARGET$$join(TARGET,,,d)#为debug版本生成的文件增加d的后缀contains(TEMPLATE,lib){DESTDIR../output/debug/lib #将库放在lib文件夹下 DLLDESTDIR../output/debug/bin #将动态库自动拷贝至bin目录下}else{DESTDIR../output/debug/bin #将应用程序放在bin目录下}OBJECTS_DIR./debug/obj #将生成的对象文件放在专门的obj文件夹下 MOC_DIR./debug/moc #将QT自动生成的对象放在moc文件夹下}else{#设置release配置下编译生成文件的路径contains(TEMPLATE,lib){DESTDIR../output/release/lib #将库放在lib文件夹下 DLLDESTDIR../output/release/bin #将动态库自动拷贝至bin目录下}else{DESTDIR../output/release/bin #将应用程序放在bin目录下}OBJECTS_DIR./release/obj #将生成的对象文件放在专门的obj文件夹下 MOC_DIR./release/moc #将QT自动生成的对象放在moc文件夹下}#使用message打印宏定义#message只支持一个参数所以需要打印message(********start********)message(def:$$DEFINES)message(dst dir:$$DESTDIR)message(def:$$DEFINES $$DESTDIR $$LIBS)message(********end********)根据输出文件是可执行文件还是库文件来设置不同的输出目录CONFIG(debug,debug|release){equals(TEMPLATE,app){DESTDIR$$PWD/../build/debug/bin}equals(TEMPLATE,lib){DESTDIR$$PWD/../build/debug/lib DLLDESTDIR$$PWD/../build/debug/bin}}CONFIG(release,debug|release){equals(TEMPLATE,app){DESTDIR$$PWD/../build/release/bin}equals(TEMPLATE,lib){DESTDIR$$PWD/../build/release/lib DLLDESTDIR$$PWD/../build/release/bin}}根据32位和64位架构控制输出目录#//指定目标文件的输出目录//32位contains(QT_ARCH,i386){CONFIG(release,release|debug){DESTDIR$$PWD/bin/x86/release}else{DESTDIR$$PWD/bin/x86/debug}}//64位contains(QT_ARCH,x86_64){CONFIG(release,release|debug){DESTDIR$$PWD/bin/x64/release}else{DESTDIR$$PWD/bin/x64/debug}}#//指定中间文件的生成路径MOC_DIR$$PWD/temp/$$TARGET/moc RCC_DIR$$PWD/temp/$$TARGET/rcc UI_DIR$$PWD/temp/$$TARGET/ui OBJECTS_DIR$$PWD/temp/$$TARGET/objMagic工程控制输出文件路径BUILD_DIR$$PWD/../bin/build # 编译路径 BIN_DIR$$PWD/../bin # 二进制文件输出路径 TARGETMediaManagerTest # 目标文件名CONFIG(debug,debug|release){OBJECTS_DIR$$BUILD_DIR/debug/$$TARGET/objRCC_DIR$$BUILD_DIR/debug/$$TARGET/rccMOC_DIR$$BUILD_DIR/debug/$$TARGET/mocUI_DIR$$BUILD_DIR/debug/$$TARGET/uiDESTDIR$$BIN_DIR/debug}CONFIG(release,debug|release){OBJECTS_DIR$$BUILD_DIR/release/$$TARGET/objRCC_DIR$$BUILD_DIR/release/$$TARGET/rccMOC_DIR$$BUILD_DIR/release/$$TARGET/mocUI_DIR$$BUILD_DIR/release/$$TARGET/uiDESTDIR$$BIN_DIR/release}QT工程文件的常见参数如果指定TEMPLATE为lib模板且未指定CONFIG为静态库或者动态库则默认生成动态库。QTcore gui sql dbusgreaterThan(QT_MAJOR_VERSION,4):QTwidgets DESTDIR$$PWD/../app/bin TARGETapp DEFINESQT_DEPRECATED_WARNINGS DEFINESQT_MESSAGELOGCONTEXT DEFINESARM QMAKE_CXXFLAGS_RELEASE-Os MOC_DIR$$PWD/../temp/$$TARGET/moc RCC_DIR$$PWD/../temp/$$TARGET/rcc UI_DIR$$PWD/../temp/$$TARGET/ui OBJECTS_DIR$$PWD/../temp/$$TARGET/objinclude(res/res.pri)include(ui/ui.pri)include(base/base.pri)include(main/main.pri)#include($$PWD/../3rdparty/3rdparty.pri)include($$PWD/ballistics/ballisitcs/ballisitcs.pri)include($$PWD/config/configuration/configuration.pri)include($$PWD/statusmanager/statusmanager/statusmanager.pri)include($$PWD/device/devicemanager/devicemanager.pri)include($$PWD/media/mediamanager/mediamanager.pri)include($$PWD/common/common.pri)include($$PWD/httpserver/httpserver/httpserver.pri)include($$PWD/logger/logger.pri)include($$PWD/videorecorder/recordmanager/recordmanager.pri)include($$PWD/database/database/database.pri)include($$PWD/reticle/reticle/reticle/reticle.pri)include(commandhandler/commandhandler.pri)include(messagehandler/messagehandler.pri)include($$PWD/playback/playback/playback.pri)INCLUDEPATH$$PWD/../3rdparty/poco/include INCLUDEPATH$$PWD/../3rdparty/hal/include INCLUDEPATH$$PWD/../3rdparty/ffmpeg/include INCLUDEPATH$$PWD/../3rdparty/x264/include INCLUDEPATH$$PWD/../3rdparty/libyuv/include INCLUDEPATH$$PWD/../3rdparty/rtsp/include INCLUDEPATH$$PWD/../3rdparty/codec/include LIBS-L$$PWD/../3rdparty/poco/lib LIBS-L$$PWD/../3rdparty/hal/lib LIBS-L$$PWD/../3rdparty/hal/layer_lib LIBS-L$$PWD/../3rdparty/ffmpeg/lib LIBS-L$$PWD/../3rdparty/x264/lib LIBS-L$$PWD/../3rdparty/libyuv/lib LIBS-L$$PWD/../3rdparty/rtsp/lib LIBS-L$$PWD/../3rdparty/codec/lib LIBS-l:libyuv.a LIBS-lguide_hal LIBS-Xlinker \-(\-l:libPocoCppParser.a \-l:libPocoCrypto.a \-l:libPocoData.a \-l:libPocoDataSQLite.a \-l:libPocoEncodings.a \-l:libPocoFoundation.a \-l:libPocoJSON.a \-l:libPocoMongoDB.a \-l:libPocoNet.a \-l:libPocoNetSSL.a \-l:libPocoPDF.a \-l:libPocoRedis.a \-l:libPocoUtil.a \-l:libPocoXML.a \-l:libPocoZip.a \-l:libcrypto.a \-l:libssl.a \-l:libavformat.a \-l:libavcodec.a \-l:libavdevice.a \-l:libavfilter.a \-l:libswscale.a \-l:libswresample.a \-l:libavutil.a \-l:libx264.a \-l:libGuideInfraredVideoDecoder.a \-l:libGuideInfraredVideoRecorder.a \-l:libcompress-alg.a \-l:liblive-rtsp-server.a \-l:libphz76-rtsp-server.a-Xlinker \-)\-ldl LIBS-lguide_hal LIBS-Wl,-rpath-link,$$PWD/../3rdparty/hal/lib:$$PWD/../3rdparty/hal/layer_lib LIBS-Wl,-rpath,/lib:/usr/lib:/usrdata/lib:/usrdata/qt-5.7.0/libQMake部分语法

相关新闻

2026/8/5 17:33:27

如何快速上手InvenTree:开源库存管理系统的完整入门指南

如何快速上手InvenTree:开源库存管理系统的完整入门指南 【免费下载链接】InvenTree Open Source Inventory Management System 项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree 想要告别Excel表格管理库存的混乱吗?InvenTree这款开…

2026/8/5 17:33:27

JAVA的22种设计模式

目录 设计模式的目的 设计模式的七大原则 设计模式的三大分类及概述 1、创建型模式 2、结构型模式 3、行为型模式 23种设计模式 单例模式--创建型 代理模式--结构型 装饰器模式--结构型 仲裁者模式/中介者模式--行为型 案例说明 伪Java代码 模板模式--行为型 工…

2026/8/5 17:28:27

Generate Forcing Files

Grab the entire region’s stations (https://coastwatch.glerl.noaa.gov/marobs/stations.lmd) or for a specific lake “stations-superior.lmd”. And save it to the target path. The address might change. Please see the screenshot below.The station lmd files can…

2026/8/5 18:38:30

Arduino-ESP32:从零到物联网项目的3步快速入门指南

Arduino-ESP32:从零到物联网项目的3步快速入门指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 还在为ESP32复杂的原生开发环境而烦恼吗?Arduin…

2026/8/5 18:38:30

Pixelle-Video完整教程:三步实现零基础AI视频创作

Pixelle-Video完整教程:三步实现零基础AI视频创作 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video Pixelle-Video是一款革命性…

2026/8/5 18:38:30

OSPF协议:OSPF的报头和邻居建立过程和HEllO报文内容

为IP协议报文直接封装OSPF报文, 鉴于OSPF是专为TCP/IP网络所设计的路由协议。上述提及的五种OSPF报文采用相同的OSPF报头格式。瞧第一个, 字段, 版本字段, 它占1个字节, 用来指出所采用的OSPF协议版本号, 当下最高版本是OSPF v4, 也就是值为4, 对应二进制是0100。所要表述的“t…

2026/8/5 18:33:30

docker基础部署

作为一个前端开发者,其实对部署这块儿并没有太多的学习,只是我平时用的一些,能将我们的系统进行一个部署,所以这篇仅供参考。在进行docker部署的时候,下面常用的一些命令不止是docker命令哈,也会有一些常用…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/5 0:01:34

三升四,比成绩下滑更可怕的,是孩子开始「认命」

分水岭上,最难的不是翻过去,是孩子不想翻了。八月初了。这两个字,对三升四的家长来说,比任何闹钟都让人清醒。最近的家长群里,气氛明显不一样了。一升二的在关心兴趣班,二升三的在讨论要不要提前学英语。而…

2026/8/5 0:01:34

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:01:34

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/3 22:40:58

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/3 13:26:41

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/3 16:43:13

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…