• Qt的.pro文件格式解析


    在Qt中用qmake生成makefile文件,它是由.pro文件生成而来的,.pro文件的具体格式语法如下:

    1.注释

    .pro文件中注释采用#号,从“#”号开始,到该行的结束,例如:

    2.模板TEMPLATE

    模板变量告诉qmake为这个应用程序生成那种makefile文件。下面是可提供使用的选择:

    TEMPLATE=app
    
    1. app-建立一个应用程序的makefile。这是个默认值,所以如果模板没有被指定,该模板将会被使用。
    2. lib -建立一个库的makefile。
    3. vcapp -建立一个应用程序的Visual Studio项目文件。
    4. vclib -建立一个库的VisualStudio项目文件。
    5. subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile,并且为它调用make的makefile。

    3.添加文件路径

    1. HEADERS += 用来添加头文件

    2. SOURCES += 用来添加源文件

    3. FORMS += 用来添加 ui 文件

    4. RESOURCES += 用来添加资源文件

    5. INCLUDEPATH += 用来存放添加头文件的路径

    6. DEPENDPATH += 用来添加依赖相关路径

    7. LIBS += 用来添加库文件

    注意:

    1. INCLUDEPATH一般用在添加第三方 .dll 的时候所需的头文件路径;
    2. HEADERS用来添加当前项目的路径;
    3. LIBS += -LC:/Windows/System32/ -luser32
    4. 格式为:-L 路径 -l 库名
    5. 库比较多的时候可以用 \来达到换行目的
    6. 引用相对路径的库文件的时候,$$PWD 指的是项目 .pro 文件所在的路径,`$$OUT_PWD` 指的是编译的目标所在的路径。如果不清楚路径,可以使用 message($$PWD) 打印路径查看绝对路径。
    • DESTDIR += 指定生成的应用程序的存放目录。
    • TARGET = 指定生成的应用程序的名字。
    • UI_DIR += 用来存放编译的时候 ui 生成的 ui_*.h 文件。
    • RCC_DIR += 存放 .qrc 生成的 qrc_*.h 文件。
    • MOC_DIR += 用来存放 moc 命令转换添加的 Q_OBJECT 的 .h 文件为标准 .h 文件的存放路径。
    • OBJECTS_DIR += 用来存放目标文件 .obj 存放的路径。

    注:

    UI_DIR 、RCC_DIR 、 MOC_DIR 、OBJECTS_DIR 可以认为都是用来存放中间文件,只是存放的中间文件有所不同,不指定的话默认会存放在 .pro 文件所在的路径,显得工程看起来比较乱

    4.添加配置信息

    • CONFIG += 用来指的应用程序的配置信息。
    参数说明
    release项目被联编为一个发布的应用程序
    debug项目被联编为一个debug的应用程序,debug 和 release 同时设置的时候,最后面的一个生效
    debug_and_release项目被联编为 debug 和 release
    warn_on编译器输出尽可能多的警告信息
    c++11支持 c++11 的标准
    thread支持线程,当 CONFIG 参数包含 qt 的时候,这个是默认支持的

    5.实例

    1. TEMPLATE = app
    2. LANGUAGE = C++
    3. QT += widgets xml sql network opengl
    4. CONFIG += qt warn_on release
    5. HEADERS += *.h
    6. SOURCES += *.cpp
    7. FORMS += *.ui
    8. RESOURCES += \
    9. DiffusionFilter.qrc

    本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓ 

  • 相关阅读:
    【Python开发】FastAPI 07:Depends 依赖注入
    PHP 在 Microsoft Windows 下的命令行方式
    【启扬方案】启扬安卓屏一体机在医疗自助服务终端上的应用解决方案
    单片机灭火避障小车设计
    【Filament】立方体贴图(6张图)
    【LeetCode】完全二叉树的节点个数 [M](递归)
    社区系统项目复盘-7
    Functional Programming in Java venkat(15) Being Lazy part2
    低代码助力中小企业数字化
    JDK常用内部类
  • 原文地址:https://blog.csdn.net/m0_60259116/article/details/127754210