Qt-qmake
1 QMake介绍以及简单使用开始
QMake 是 Qt 框架的工具包中带的一个非常方便的项目文件生成工具。
功能特点:
(1)可以用于生成 Makefile 以及 各种工程文件。
(2)可以生成 Microsoft Visual Studio 可以使用的项目文件等。
(3)最关键的是它可以自动解决依赖关系,不用手工写 Makefile 文件,而且是跨平台的。
(1)为qmake编写工程文件,文件中所编写的具体内容可参考官方文档进行编写。
官方qmake文档链接为:https://doc.qt.io/qt-5/qmake-manual.html。
具体的变量详情链接:https://doc.qt.io/qt-5/qmake-variable-reference.html
下图简单列出了一张关于qmake变量的一张表格:
注:在为qmake编写配置文件.pro时,就需要按照上图说明来配置qmake变量。下文举一个简单例子:
为一个工程创建一个 project.pro 的 qmake 工程文件,例如:
SOURCES = hello.cpp HEADERS = hello.h CONFIG += qt
注:工程文件非常简单,指定源文件、头文件。 CONFIG 可以指定一些编译选项,其中一些选项如 qt 是 qmake 内部能够识别的。
(2)对于已经编写好的*.pro
文件,可以使用qmake工具生成Makefile
文件,具体方法如下:
qmake -o Makefile hello.pro
也可以使用使用下面的方法生成visual stadio需要的工程文件:
qmake -tp vc hello.pro
对于生成Makefile
或者*.sln
可以进一步使用make工具
或者namke工具
生成对应的可执行程序。
总而言之,在命令行调用qmake工具,来配置、选择所需要生成的工程文件。
2. QMake如何增加关于特定平台的资源文件
可以使用如下方式:
# 针对于windows
win32 {
SOURCES += hellowin.cpp
}
# 针对于unix
unix {
SOURCES += hellounix.cpp
}
3.当文件不存在时,如何停止编译
!exists( main.cpp ) {
error( "No main.cpp file found" )
}
4. 为程序增加qDebug()
输出到命令行
有些时候
在CONFIG
上增加qDebug()
信息的方式为:
CONFIG += console
上述选项主要为了解决在windows平台下,使用控制台启动程序,程序中的qDebug()
信息不回输出到控制台上的问题。因此在使用时最好使用如下的方式:
win32 {
debug {
CONFIG += console
}
}
或者:
win32:debug {
CONFIG += console
}
5 Project文件创建
5.1 组成元素
- 变量
变量可以使用列表来进行赋值,对于多行变量可以使用连接符\
进行连接,一般的使用如下:
SOURCES = main.cpp mainwindow.cpp \
paintwidget.cpp
其中SOURCES
变量包含三个文件。
对于常用的内置变量如下所示:
CONFIG: 一般的项目配置选项
DESTDIR:二进制程序存放文件夹
FORMS:UI文件
HEADERS:头文件
QT:项目中使用的QT模块
RESOURCES:资源文件,一般为.qrc
SOURCES:构建项目的源码文件
TEMPLATE:项目模板,用来控制输出是否为应用程序、库文件或者插件。
变量之间可以使用如下方式赋值:
TEMP_SOURCES = $$SOURCES
一般
注意:=
两边各留一个空格,对于变量本身包含空格的,应该使用引号来包含变量,如下:
DEST = "Program Files"
- 其他字符
使用#来进行注释
,如下:
# Comments usually start at the beginning of a line, but they
# can also follow other content on the same line.