news 2026/8/5 17:33:23

Qt 通用pro配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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/obj

Magic工程控制输出文件路径

BUILD_DIR=$$PWD/../bin/build # 编译路径 BIN_DIR=$$PWD/../bin # 二进制文件输出路径 TARGET=MediaManagerTest # 目标文件名CONFIG(debug,debug|release){OBJECTS_DIR="$$BUILD_DIR/debug/$$TARGET/obj"RCC_DIR="$$BUILD_DIR/debug/$$TARGET/rcc"MOC_DIR="$$BUILD_DIR/debug/$$TARGET/moc"UI_DIR="$$BUILD_DIR/debug/$$TARGET/ui"DESTDIR="$$BIN_DIR/debug"}CONFIG(release,debug|release){OBJECTS_DIR="$$BUILD_DIR/release/$$TARGET/obj"RCC_DIR="$$BUILD_DIR/release/$$TARGET/rcc"MOC_DIR="$$BUILD_DIR/release/$$TARGET/moc"UI_DIR="$$BUILD_DIR/release/$$TARGET/ui"DESTDIR="$$BIN_DIR/release"}

QT工程文件的常见参数

如果指定TEMPLATElib模板,且未指定CONFIG为静态库或者动态库,则默认生成动态库。

QT+=core gui sql dbusgreaterThan(QT_MAJOR_VERSION,4):QT+=widgets DESTDIR=$$PWD/../app/bin TARGET=app DEFINES+=QT_DEPRECATED_WARNINGS DEFINES+=QT_MESSAGELOGCONTEXT DEFINES+=ARM 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/lib

QMake部分语法

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 17:29:36

北京网站建设升上去,那些没人告诉你的SEO底层逻辑与实战心法

今天咱们不整那些虚头巴脑的学术名词,也不聊什么高大上的人工智能算法玄学,就聊点实在的。很多老板,还有刚入行的建站小白,经常在我面前发愁:明明花了大把银子请了专业团队搞开发,页面做得花里胡哨,代码写得像艺术品一样整洁,为什么搜索引擎就是不待见咱们?排名就是死…

作者头像 李华
网站建设 2026/8/5 17:25:12

网站建设中模板:揭秘低成本搭建高效网站的真相与避坑指南,让企业官网不再只是摆设

说实在的,每次看到有些老板或者创业者跟我抱怨说,做个网站花了好几十万,结果上线后连个像样的用户都留不住,或者维护起来特别麻烦,我就忍不住想感叹:很多时候,大家把精力和金钱花错了地方。今天咱们不聊那些高大上的技术架构,也不谈那些云里雾里的大数据算法,就聊聊在…

作者头像 李华
网站建设 2026/8/5 17:19:52

音乐歌词提取工具:如何快速获取网易云QQ音乐LRC歌词文件

音乐歌词提取工具:如何快速获取网易云QQ音乐LRC歌词文件 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为音乐播放器缺少歌词而烦恼吗?163Mu…

作者头像 李华
网站建设 2026/8/5 17:16:13

Bilibili视频下载终极指南:轻松保存你喜欢的每一个视频

Bilibili视频下载终极指南:轻松保存你喜欢的每一个视频 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华
网站建设 2026/8/5 17:14:42

深入解析长春市建设局网站功能与市民办事指南全攻略

在这个数字化转型飞速发展的时代,政府办事效率的高低直接关乎着每一个老百姓的切身利益和幸福感。以前,大家去办事大厅跑审批,往往需要“多跑腿、多排队、多盖章”,不仅耗时耗力,还容易因为材料不齐或者流程不熟而白跑好几趟。好在,现在有了互联网技术,很多繁琐的政务流…

作者头像 李华