Qt中的pro文件

示例1: 

#TEMPLATE:模板变量,告诉qmake为该应用程序生成哪种makefile
#subdirs:特殊的模板
TEMPLATE = subdirs
 
#使用subdirs模板时,此选项指定应该安装目录列表顺序处理它们.
CONFIG += ordered
 
SUBDIRS += \
     3rdParty \
     project
 

QT .pro文件解析(秒懂)_qt pro文件详解-CSDN博客

QT工程pro文件TEMPLATE变量说明_qt pro文件中的 template config += ordered-CSDN博客

Qt 之 pro 配置详解 - maxiongying - 博客园 (cnblogs.com)

示例2:
Qt-Advanced-Docking-System:Advanced Docking System for Qt - GitCode

#指定项目中使用Qt的模块
QT += core gui widgets
#启用c++11支持.如果编译器不支持c++11这个选项,那该句无效
CONFIG += c++11
 
#$$PWD:文件当前目录
#$$PWD/../../build/debug  文件当前目录的上一层的上一层/build/debug
CONFIG(debug, debug|release) {
    ROUTDIR = $$PWD/../../build/debug
} else {
    ROUTDIR = $$PWD/../../build/release
}
 
#创建一个用于构建库的Makefile
TEMPLATE = lib
 
#指定在何处放置目标文件
DESTDIR = $$ROUTDIR
 
#指定目标文件的名称.
TARGET = qtadvanceddocking
 
DEFINES += ADS_SHARED_EXPORT
 
windows {
    # MinGW
    *-g++* {
        QMAKE_CXXFLAGS += -Wall -Wextra -pedantic
    }
    # MSVC
    *-msvc* {
                QMAKE_CXXFLAGS += /utf-8
        }
}
 
#指定资源文件(qrc)的名词
RESOURCES += ads.qrc
 
HEADERS += \
    ads_globals.h \
    DockAreaWidget.h \
    DockAreaTabBar.h \
    DockContainerWidget.h \
    DockManager.h \
    DockWidget.h \
    DockWidgetTab.h \ 
    DockingStateReader.h \
    FloatingDockContainer.h \
    FloatingDragPreview.h \
    DockOverlay.h \
    DockSplitter.h \
    DockAreaTitleBar_p.h \
    DockAreaTitleBar.h \
    ElidingLabel.h \
    IconProvider.h \
    DockComponentsFactory.h  \
    DockFocusController.h
 
 
SOURCES += \
    ads_globals.cpp \
    DockAreaWidget.cpp \
    DockAreaTabBar.cpp \
    DockContainerWidget.cpp \
    DockManager.cpp \
    DockWidget.cpp \
    DockingStateReader.cpp \
    DockWidgetTab.cpp \
    FloatingDockContainer.cpp \
    FloatingDragPreview.cpp \
    DockOverlay.cpp \
    DockSplitter.cpp \
    DockAreaTitleBar.cpp \
    ElidingLabel.cpp \
    IconProvider.cpp \
    DockComponentsFactory.cpp \
    DockFocusController.cpp
 
 
unix:!macx {
HEADERS += linux/FloatingWidgetTitleBar.h
SOURCES += linux/FloatingWidgetTitleBar.cpp
QT += x11extras
LIBS += -lxcb
}

利用Qt的pro文件中DEFINES实现条件宏_qt defines-CSDN博客

示例3:

QT笔记——QtPropertyBrowser的使用-CSDN博客

#指定项目中使用Qt的模块
QT += core gui widgets
 
CONFIG(debug, debug|release) {
    ROUTDIR = $$PWD/../../build/debug
} else {
    ROUTDIR = $$PWD/../../build/release
}
 
DESTDIR = $$ROUTDIR
 
#指定目标文件的名称
TARGET = QtPropertyBrowser
 
#创建一个用于构建库的Makefile
TEMPLATE = lib
 
#启用c++11支持
CONFIG += C++11
 
DEFINES += QTPROPERTYBROWSER_LIBRARY
 
SOURCES += \
    qtbuttonpropertybrowser.cpp \
    qteditorfactory.cpp \
    qtgroupboxpropertybrowser.cpp \
    qtpropertybrowser.cpp \
    qtpropertybrowserutils.cpp \
    qtpropertymanager.cpp \
    qttreepropertybrowser.cpp \
    qtvariantproperty.cpp
 
HEADERS +=\
        qtpropertybrowser_global.h \
    qtbuttonpropertybrowser.h \
    qteditorfactory.h \
    qtgroupboxpropertybrowser.h \
    qtpropertybrowser.h \
    qtpropertybrowserutils_p.h \
    qtpropertymanager.h \
    qttreepropertybrowser.h \
    qtvariantproperty.h
 
RESOURCES += $$PWD/qtpropertybrowser.qrc
 
unix {
    target.path = /usr/lib
    INSTALLS += target
}
 

示例4:
greaterThan(QT_MAJOR_VERSION,4):QT+=widgets意思_qt greaterthan-CSDN博客

QT pro文件的一种通用配置 - onewayheaven - 博客园 (cnblogs.com)

Qt5中qDebug信息不输出的解决方法_qt5的qdebug没有输出-CSDN博客

Qt构建中DEPENDPATH和INCLUDEPATH区别_includepath dependpath-CSDN博客

#指定项目中使用Qt的模块
QT += core gui sql xml
QT += xlsx svg
 
#QT主版本大于4(当前使用的是Qt5或更高版本的话),需要添加widgets模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
#创建一个用于构建应用程序的Makefile(默认)
TEMPLATE = app
#指定目标文件的名称
TARGET = Chart
 
CONFIG += c++11
 
#为debug版本生成的文件增加d的后缀
CONFIG(debug, debug|release) {
    TARGET = $$join(TARGET,,,d)
    ROUTDIR = $$PWD/../build/debug
} else {
    TARGET = $$join(TARGET,,,)
    ROUTDIR = $$PWD/../build/release
}
 
DESTDIR = $${ROUTDIR}
 
#当Qt的某些功能被标记为过时的,此时编译器会发出警告
DEFINES += QT_DEPRECATED_WARNINGS
 
# share.pri
#当前文件的上一层的share文件夹
sharePWD = $${PWD}/../share
 
include($${sharePWD}/share.pri)
#指定编译项目时应该被搜索的#include目录
INCLUDEPATH += $${sharePWD}
 
CONFIG += qtsingleapplication logBusiness Unit msgNotify
CONFIG += asmCrashReport
 
# navigation
#当前目录下的navigation/navigation.pri
include($${PWD}/navigation/navigation.pri)
INCLUDEPATH += $${PWD}/navigation
 
 
SOURCES += \
        main.cpp \
        MainWindow.cpp
 
HEADERS += \
        MainWindow.h
 
FORMS += \
        MainWindow.ui
 
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
 
#第三方库加载
LIBS += -L$${ROUTDIR} -lqtadvanceddocking #-lQtPropertyBrowser
 
#DEPENDPATH和INCLUDEPATH都是用于指定头文件搜索路径的变量
#INCLUDEPATH用于指定头文件的搜索路径,告诉编译器在哪里查找头文件
#DEPENDPATH用于指定项目中的源代码所依赖的头文件的搜索路径
INCLUDEPATH += $$PWD/../3rdParty/
DEPENDPATH += $$PWD/../3rdParty/
 
INCLUDEPATH += $$PWD/../3rdParty/QtDock/
DEPENDPATH += $$PWD/../3rdParty/QtDock/
 
# INCLUDEPATH += $$PWD/../3rdParty/QtPropertyBrowser/
# DEPENDPATH += $$PWD/../3rdParty/QtPropertyBrowser/
 
 
# log  Multithreading
#DEFINES += ELPP_NO_DEFAULT_LOG_FILE
DEFINES += ELPP_THREAD_SAFE
 
#指定应用程序资源的名词.很少需要进行修改
RC_FILE += app.qrc
 
RESOURCES += res.qrc

 

posted @ 2026-02-06 22:50  rainbow70626  阅读(23)  评论(0)    收藏  举报