QT入门学习(三):QT的pro配置

前言

QT使用qmake构建工具来构建工程,作用和cmake一样。

下面就讲解pro的参数的意义和用法。

注释

以 # 开始,到这一行结束

CONFIG

指定编译器选项和项目配置,值由qmake内部识别并具有特殊意义。

比如:

1
CONFIG += c++11 console

指定使用C++11的语法以及进行控制台输出

DEFINES

qmake 添加这个变量的值作为编译器C预处理器宏(-D选项)

例如:

1
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000

这个宏会取消禁用过时的API

1
DEFINES += QT_NO_DEBUG_OUTPUT

这个宏在命令行输出时不打印qDebug信息

FORMS

指定UI文件,在编译前被uic处理

所有的构建这些UI文件所需的依赖、头文件和源文件都会被添加到项目中。

例如:

1
FROMS = mydialog.ui mywidget.ui myconfig.ui

HEADERS

指定项目中所有的头文件

qmake会自动检测头文件的类是否需要moc,并增加适当的依赖关系和文件到项目中,来生成和链接moc文件

例如:

1
2
HEADERS += \
mainwindow.h

moc全称为 Meta-Object Compiler,也就是元对象编译器

QT程序在交给标准编译器编译之前,先要使用moc分析C++源文件。如果它发现在一个头文件中包含宏Q_OBJECT,则会生成另外一个C++源文件。这个源文件中包含了Q_OBJECT宏的实现代码。

这个新的文件名字将会是原文件前面加上moc_构成。

INCLUDEPATH

指定编译项目时应该被搜索的#include目录

如果路径包含空格,需要使用引号包含

LIBS

指定链接到项目中的库列表。

QT

指定项目中使用QT的模块

例如:

1
QT += core gui

SOURCES

指定项目中所有源文件

例如:

1
2
3
SOURCES += \
main.cpp \
mainwindow.cpp

TRANSLATIONS

指定包含用户界面翻译文本的翻译文件列表

例如:

1
2
TRANSLATIONS = chinese.ts \
english.ts

TARGET

指定编译之后目标文件的名称,默认为项目名称

评论