Qt 项目文件(.pro)概述

Qt 项目pro文件

  • 引言
  • 一、pro文件初探
  • 二、部分参数详解

引言

Qt工程项目由项目文件(.pro)进行管理。qmake使用文件中的信息生成Makefile,其中包含构建每个项目所需的所有命令。pro文件通常包含源文件和头文件的列表、常规配置信息以及任何特定于应用程序的详细信息,例如要链接的额外库的列表,或要使用的额外包含路径的列表。

帮助文档和参考链接:

  1. 在qtcreator中打开pro或者pri文档,然后按F1。或者选中某个函数 or 关键字按F1
  2. 官方网页qmake Manual: https://doc.qt.io/qt-5/qmake-manual.html
  3. Qt 项目工程pro文件 参数: https://blog.csdn.net/qq_44843531/article/details/132410372

一、pro文件初探

新建一个带MainWindow的默认工程,其pro文件如下: (删除了很多注释)

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = untitled
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11
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
  • 参数详解:
Option
Description
QT += core gui 添加Qt的core和gui模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets QT主版本大于4,则添加widgets模块
TARGET = untitled 目标文件名称是untitled
TEMPLATE = app 应用程序
DEFINES += QT_DEPRECATED_WARNINGS 当Qt的某些功能被标记为过时的,那么编译器会发出警告
CONFIG += c++11 已启用对C++11的支持。如果编译器不支持C++11,或者无法选择C++标准,则此选项无效。默认情况下,支持处于启用状态。
SOURCES += main.cpp 添加源文件
HEADERS += mainwindow.h 添加头文件
FORMS += mainwindow.ui 添加界面ui文件

二、部分参数详解

  • TEMPLATE:指定生成项目时要使用的模板的名称。
Option
Description
app 为构建应用程序创建Makefile(默认设置)
lib 创建用于构建库的Makefile
subdirs 在子目录(管理多个子工程)中创建用于构建目标的Makefile。子目录使用SUBDIRS变量指定。
aux 创建不生成任何内容的Makefile
vcapp 仅限Windows。为Visual Studio创建应用程序项目
vclib 仅限Windows。为Visual Studio创建库项目
  • DEFINES: qmake将此变量的值添加为编译器预处理器宏(-D选项),类似代码中的#define

更多信息可参考Qt 帮助文档中的QtGlobal -> Macro

Qt 项目文件(.pro)概述_第1张图片

  • CONFIG:指定项目配置和编译器选项。这些值由qmake内部识别,并具有特殊意义。
Option
Description
release 该项目将以发布模式构建。如果还指定了调试,则最后一个配置的项将生效
debug 该项目将在调试模式下生成
ordered template = subdirs,此选项表示按给定的顺序编译列出的子项目,可以多层嵌套。
warn_off 编译器应尽可能少地输出警告。
c++11 已启用对C++11的支持。如果编译器不支持C++11,或者无法选择C++标准,则此选项无效。默认情况下,支持处于启用状态。
c++14 已启用C++14支持。如果编译器不支持C++14,或者无法选择C++标准,则此选项无效。默认情况下,使用编译器默认值。
  • 更多参数以及变量值的含义可参考:官方手册中的qmake Manual - Variables
    Qt 项目文件(.pro)概述_第2张图片

你可能感兴趣的:(#,Qt,qt,pro,项目,qmake)