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 | HEADERS += \ |
moc全称为 Meta-Object Compiler,也就是元对象编译器
QT程序在交给标准编译器编译之前,先要使用moc分析C++源文件。如果它发现在一个头文件中包含宏Q_OBJECT,则会生成另外一个C++源文件。这个源文件中包含了Q_OBJECT宏的实现代码。
这个新的文件名字将会是原文件前面加上moc_构成。
INCLUDEPATH
指定编译项目时应该被搜索的#include目录
如果路径包含空格,需要使用引号包含
LIBS
指定链接到项目中的库列表。
QT
指定项目中使用QT的模块
例如:
1 | QT += core gui |
SOURCES
指定项目中所有源文件
例如:
1 | SOURCES += \ |
TRANSLATIONS
指定包含用户界面翻译文本的翻译文件列表
例如:
1 | TRANSLATIONS = chinese.ts \ |
TARGET
指定编译之后目标文件的名称,默认为项目名称