Qt 中pro文件详解

Qt中pro文件详解

全都在代码里了,哈哈

#-------------------------------------------------
#
# Project created by QtCreator 2021-05-17T21:58:13
#
#-------------------------------------------------

#QT:指定项目中使用Qt的模块。默认情况下,QT包含core和gui,以确保标准的GUI应用程序无需进一步的配置就可以构建。如果想建立一个不包含Qt GUI模块的项目,可以使用“ -=”操作符。
#下面一行将构建一个很小的Qt项目
#QT -= gui # 仅仅使用core模块
#如果要创建一个界面,里面用到XML及网络相关的类,那么需要包含如下模块
#QT += core gui widgets xml network
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

#下面两行这个设置了无效
#CONFIG(release):TARGET = Temp123456
#CONFIG(debug):TARGET = Temp123456d

#TARGET:指定目标文件的名称。默认情况下包含的项目文件的基本名称。
#TARGET = Temp123456(这个就是项目最后编译生成的可执行文件)
#上面项目会生成一个可执行文件,Windows下为Temp123456.exe,Unix下为Temp123456
TARGET = Temp123456

#TEMPLATE:模板变量告诉qmake为这个应用程序生成哪种makefile,可供使用的选项如下:
#选项	  说明
#app	  创建一个用于构建应用程序的Makefile(默认)
#lib	  创建一个用于构建库的Makefile
#subdirs  创建一个用于构建目标子目录的Makefile,子目录使用SUBDIRS变量指定
#aux	  创建一个不建任何东西的Makefile。
#vcapp	  仅适用于Windows。创建一个Visual Studio应用程序项目
#vclib	  仅适用于Windows。创建一个Visual Studio库项目。
TEMPLATE = app


# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
FINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

#CONFIG:指定编译器选项和项目配置,值由qmake内部识别并具有特殊意义。可以指定是生成debug模式还是release模式,还是都生成。也可以用来打开编译器警告或者关闭。还可以用来配置要Qt加载库
#以下配置值控制编译标志:
#选项	说明
#release	项目以release模式构建。如果也指定了debug,那么最后一个生效。
#debug	项目以debug模式构建。
#debug_and_release	项目准备以debug和release两种模式构建。
#debug_and_release_target	此选项默认设置。如果也指定了debug_and_release,最终的debug和release构建在不同的目录。
#build_all	如果指定了debug_and_release,默认情况下,该项目会构建为debug和release模式。
#autogen_precompile_source	自动生成一个.cpp文件,包含在.pro中指定的预编译头文件。
#ordered	使用subdirs模板时,此选项指定应该按照目录列表的顺序处理它们。
#precompile_header	可以在项目中使用预编译头文件的支持。
#warn_on	编译器应该输出尽可能多的警告。如果也指定了warn_off,最后一个生效。
#warn_off	编译器应该输出尽可能少的警告。
#exceptions	启用异常支持。默认设置。
#exceptions_off	禁用异常支持。
#rtti	启用RTTI支持。默认情况下,使用编译器默认。
#rtti_off	禁用RTTI支持。默认情况下,使用编译器默认。
#stl	启用STL支持。默认情况下,使用编译器默认。
#stl_off	禁用STL支持。默认情况下,使用编译器默认。
#thread	启用线程支持。当CONFIG包括qt时启用,这是缺省设置。
#c++11	启用c++11支持。如果编译器不支持c++11这个选项,没有影响。默认情况下,支持是禁用的。
#c++14	启用c++14支持。如果编译器不支持c++14这个选项,没有影响。默认情况下,支持是禁用的。
#console	只用于app模板 应用程序是一个windows的控制台应用程序
#windows	只用于app模板 应用程序是一个windows的窗口应用程序
#testcase
#depend_includepath
#dll	只用于”lib”模板,库是一个共享库(dll)
#staticlib	只用于“lib”模板,库一个静态库
#plugin	只用于“lib”模板,库是一个插件,这会使dll选项生效
#当使用debug和release选项时(Windows下默认的),该项目将被处理三次:一次生成一个”meta”Makefile,另外两次生成Makefile.Debug和Makefile.Release。
CONFIG += c++11

#下面的SOURCES、HEADERS、FORMS分别对应源文件、头文件、UI文件需要包含的文件,如果所添加的
#文件不在同一级目录,可以用..\向上跳一级目录or.\xxx 同级文件的xxx文件夹下

#SOURCES:指定项目中的所有源文件。
SOURCES += \
        main.cpp \
        .\source\widget.cpp

#HEADERS指定项目中的所有头文件。
HEADERS += \
        .\source\widget.h

#FORMS:指定项目中的所有UI文件,这些文件在编译前被uic处理。所有的构建这些UI文件所需的依赖、头文件和源文件都会自动被添加到项目中。
FORMS += \
        .\source\widget.ui

#INCLUDEPATH:把XX目录添加进工程,以后在包含这个目录里的文件时,可以省去".\source" 这个
INCLUDEPATH += .\source

#PWD是显示当前文件所在路径
#message是概要信息中输出括号里面包含的字符串
#$$+变量,message($$xxx)是输出xxx指向字符串,如果写成message(xxx) 一直都只输出xxx三个固定字符
message($$PWD)

#DESTDIR:指定在何处放置目标文件(即程序最后生成的可执行文件,这个最重要)。
#CONFIG(release):DESTDIR = $$PWD/../bin
#CONFIG(debug, debug|release):DESTDIR = $$PWD/../bin
DESTDIR = $$PWD/../DH_Bin

#MOC_DIR:指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h文件的存放目录)
MOC_DIR = $$PWD/../DH_Compile/moc

#OBJECTS_DIR:指定所有中间文件.o(.obj)放置的目录。
OBJECTS_DIR = $$PWD/../DH_Compile/obj

#RCC_DIR:指定Qt资源编译器输出文件的目录(.qrc文件转换成qrc_*.h文件的存放目录)。
RCC_DIR = $$PWD/../DH_Compile/rcc

#UI_DIR:指定来自uic的所有中间文件放置的目录(.ui文件转化成ui_*.h文件的存放目录)。
#unix:UI_DIR = ../myproject/ui
#win32:UI_DIR = c:/myproject/ui
UI_DIR = $$PWD/../DH_Compile/ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

#RESOURCES:指定资源文件 (qrc) 的名称

#DEPENDPATH:程序编译时依赖的相关路径.
#DEPENDPATH += .

#INCLUDEPATH:头文件的包含路径,即指定编译项目时应该被搜索的#include目录。如果路径包含空格,需要使用引号包含。
#INCLUDEPATH = c:/include
#INCLUDEPATH += "C:/extra headers"

#LIBS:指定链接到项目中的库列表。如果使用Unix -l (library) 和 -L (library path) 标志,在Windows上qmake正确处理库(也就是说,将库的完整路径传递给链接器),库必须存在,qmake会寻找-l指定的库所在的目录。如果路径包含空格,需要使用引号包含路径。
#win32:LIBS += c:/mylibs/math.lib
#unix:LIBS += -L/usr/local/lib -lmath

#RC_FILE:指定应用程序资源文件的名称。这个变量的值通常是由qmake或qmake.conf处理,很少需要进行修改。
#RC_FILE += $$PWD/UrgBenri.rc

#RC_ICONS:仅适用于Windows,指定的图标应该包含在一个生成的.rc文件里。如果RC_FILE 和RES_FILE变量都没有设置这才可利用。
#RC_ICONS = myapp.ico


#CODECFORSRC:源文件编码方式
#CODECFORSRC = GBK

附:3个不错的文章
1.Qt Cre3.
ator中的.pro文件的详解
https://blog.csdn.net/hebbely/article/details/66970821
2.Qt学习(三)“$$"符号的讲解
https://blog.csdn.net/nwly______/article/details/84073870
3.Qt在pro中实现条件编译
https://blog.csdn.net/qq_29982381/article/details/77961483

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值