Qt 项目pro文件
- 引言
- 一、pro文件初探
- 二、部分参数详解
引言
Qt工程项目由项目文件(.pro)
进行管理。qmake使用文件中的信息生成Makefile,其中包含构建每个项目所需的所有命令。pro
文件通常包含源文件和头文件的列表、常规配置信息以及任何特定于应用程序的详细信息,例如要链接的额外库的列表,或要使用的额外包含路径的列表。
帮助文档和参考链接:
- 在qtcreator中打开
pro
或者pri
文档,然后按F1
。或者选中某个函数 or 关键字按F1
。- 官方网页qmake Manual: https://doc.qt.io/qt-5/qmake-manual.html
- 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 |
|
---|---|
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 |
|
---|---|
app | 为构建应用程序创建Makefile(默认设置) |
lib | 创建用于构建库的Makefile |
subdirs | 在子目录(管理多个子工程)中创建用于构建目标的Makefile。子目录使用SUBDIRS 变量指定。 |
aux | 创建不生成任何内容的Makefile |
vcapp | 仅限Windows。为Visual Studio创建应用程序项目 |
vclib | 仅限Windows。为Visual Studio创建库项目 |
DEFINES
: qmake将此变量的值添加为编译器预处理器宏(-D选项),类似代码中的#define
更多信息可参考Qt 帮助文档中的
QtGlobal -> Macro
CONFIG
:指定项目配置和编译器选项。这些值由qmake内部识别,并具有特殊意义。
Option |
|
---|---|
release | 该项目将以发布模式构建。如果还指定了调试,则最后一个配置的项将生效 |
debug | 该项目将在调试模式下生成 |
ordered | 当template = subdirs ,此选项表示按给定的顺序编译列出的子项目,可以多层嵌套。 |
warn_off | 编译器应尽可能少地输出警告。 |
c++11 | 已启用对C++11的支持。如果编译器不支持C++11,或者无法选择C++标准,则此选项无效。默认情况下,支持处于启用状态。 |
c++14 | 已启用C++14支持。如果编译器不支持C++14,或者无法选择C++标准,则此选项无效。默认情况下,使用编译器默认值。 |
… | … |
- 更多参数以及变量值的含义可参考:官方手册中的
qmake Manual - Variables