1、pro文件概述
.pro文件中,主要包含以下变量:
变量 | 含义 |
---|---|
CONFIG | 一般项目配置选项 |
DESTDIR | 放置可执行文件或二进制文件的目录 |
FORMS | 由用户界面编译器(uic)处理的ui文件列表 |
HEADERS | 构建项目时使用的头文件(.h)列表 |
QT | 项目中使用到的Qt模块列表,比如sql、network |
RESOURCES | 项目中包含的资源文件(.qrc)列表 |
SOURCES | 构建项目时要使用的源代码(.cpp)文件列表 |
TEMPLATE | 用于该项目的模板,可以选择应用程序,库还是插件 |
2、具体写法
(1)、DESTDIR
指定生成的应用程序放置的目录
DESTDIR += ../bin //当前目录的上一级的bin文件夹
DESTDIR += $$PWD/bin //当前目录的bin文件夹
(2) 、指定生成的moc、ui、obj、rcc文件的存放目录
//这里是在build-xxxxx-Desktop_Qt_5_12_9_MSVC2017_64bit-Release的src文件夹
MOC_DIR += ../moc
RCC_DIR +=../ res
UI_DIR += ../ui
OBJECTS_DIR += ../obj
(3) 、头文件包含的路径
INCLUDEPATH += $$PWD/include//当前目录的include文件夹下
(4) 、程序编译时依赖的相关路径
//当前目录的include文件夹
DEPENDPATH += $$PWD/include
(5) 、lib包引入的路径,区分linux系统和windows系统
#temporary file dir临时文件存放目录
CONFIG(debug, debug|release){
DESTDIR = $${PWD}/bin/Qt_$${QT_VERSION}_Debug
LIBS+= -L$${PWD}/bin/Qt_$${QT_VERSION}_Debug
}
else{
DESTDIR = $${PWD}/bin/Qt_$${QT_VERSION}_Release
LIBS+= -L$${PWD}/bin/Qt_$${QT_VERSION}_Release
}
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/xxxx/ -lxxxx
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/xxxx/ -lxxxxd
else:unix: LIBS += -L$$PWD/lib/xxxx/ -lxxxxc
3、pri文件
可以把.pro文件中的一部分内容单独放到.pri文件中,这样,在写大型项目时,就可以直接通过include引用。
(1)需要手动新建BuildConfig.pri文件,创建一个文本文件,然后修改后缀即可
(2)在.pro文件中加入
根据自己的目录来写
include(../../BuildConfig.pri)
include($$PWD/BuildConfig.pri)
(3) 通过上面的方式进行引用即可,一般在.pri文件中写DESTDIR和CONFIG