Qt工程pro文件配置详解

https://blog.youkuaiyun.com/SlowIsFastLemon/article/details/118767917

文章目录
1 pro文件常用配置
1.1 注释
1.2 CONFIG
1.3 DEFINES
1.4 FORMS
1.5 HEADERS
1.6 INCLUDEPATH
1.7 LIBS
1.8 QT
1.9 SOURCES
1.10 TRANSLATIONS
1.11 TARGET
1 pro文件常用配置
Qt 使用 qmake 构建工具来构建工程,作用和 cmake 一样,生成 Makefile。Qt 的 pro 文档则对应 cmake 的 CMakeLists.txt。

下面讲解一下 pro 文档各个参数的意义和用法。

1.1 注释
以“#”开始,到这一行结束。快捷键:Ctrl + /。

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

比如:CONFIG += c++11。

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

例如:DEFINES += USE_MY_STUFF。

1.4 FORMS
指定UI文件(参考: Qt Designer Manual)在编译前被 uic 处理。所有的构建这些 UI 文件所需的依赖、头文件和源文件都会自动被添加到项目中。

例如:

FORMS = mydialog.ui \
mywidget.ui \
myconfig.ui
1
2
3
1.5 HEADERS
指定项目中所有的头文件。qmake 会自动检测是头文件的类中是否需要 moc,并增加适当的依赖关系和文件到项目中,来生成和链接 moc 文件。

例如:

HEADERS = myclass.h \
login.h \
mainwindow.h
1
2
3
moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了Q_OBJECT 宏的实现代码。这个新的文件名字将会是原文件名前面加上 moc_ 构成。这个新的文件同样将进入编译系统,最终被链接到二进制代码中去。因此我们可以知道,这个新的文件不是“替换”掉旧的文件,而是与原文件一起参与编译。另外,我们还可以看出一点,moc 的执行是在预处理器之前。因为预处理器执行之后,Q_OBJECT 宏就不存在了。

1.6 INCLUDEPATH
指定编译项目时应该被搜索的#include 目录。
例如:
INCLUDEPATH = c:/msdev/include d:/stl/include
如果路径包含空格,需要使用引号包含。

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"
1
2
1.7 LIBS
指定链接到项目中的库列表。如果使用 Unix -l (library) 和 -L (library path) 标志,在
Windows 上 qmake 正确处理库(也就是说,将库的完整路径传递给链接器),库必须存在,qmake 会寻找-l 指定的库所在的目录。
例如:

win32:LIBS += c:/mylibs/math.lib
unix:LIBS += -L/usr/local/lib -lmath(libmath.a)
1
2
1.8 QT
指定项目中使用 Qt 的模块。
默认情况下,QT 包含 core 和 gui,以确保标准的 GUI 应用程序无需进一步的配置就可以构建。如果想建立一个不包含 Qt GUI 模块的项目,可以使用“ -=”操作符。

下面一行将构建一个很小的 Qt 项目:
QT -= gui # 仅仅使用 core 模块
如果要创建一个界面,里面用到 XML 及网络相关的类,那么需要包含如下模块:
QT += core gui widgets xml network

1.9 SOURCES
指定项目中所有源文件。
例如:

SOURCES = myclass.cpp \
login.cpp \
mainwindow.cpp
1
2
3
1.10 TRANSLATIONS
指定包含用户界面翻译文本的翻译(.ts)文件列表。

例如:
TRANSLATIONS += chinese.ts english.ts

1.11 TARGET
指定目标文件的名称。默认情况下包含的项目文件的基本名称。
例如:

TEMPLATE = app
TARGET = myapp
SOURCES = main.cpp
————————————————

                            博客大多是学习笔记,仅供自己总结回顾并无其他用途,并且大多都注明了出处,如有侵权,请告知,立即删除!
                        
原文链接:https://blog.youkuaiyun.com/SlowIsFastLemon/article/details/118767917

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值