介绍

QMake 工具有助于简化跨不同平台的开发项目的构建过程。它自动生成文件,因此创建每个生成文件只需要几行信息。您可以将 QMake 用于任何软件项目,无论它是否使用 Qt 编写。

一般情况下, Qt 项目都包含一个后缀名为.pro、名称和项目名相同的文件,我们通常称它为项目管理文件或者工程管理文件(简称 pro 文件),除 pro文件外,还有pri文件进行辅助管理。

Qt官方文档:https://doc.qt.io/archives/qt-5.9/qmake-manual.html

模板示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 构建应用,除此外还能生成静态库或动态库
TEMPLATE = app

#TEMPLATE = lib
#CONFIG += staticlib# 开启则生成静态库

# 目标名称,一般和项目名称相同
TARGET = helloworld

# 添加Qt模块
QT += core gui widget webview

# 使用预编译头
CONFIG += console precompile_header
PRECOMPILED_HEADER = stable.h

# 添加头文件
HEADERS += hello.h

# 添加源文件
SOURCES += hello.cpp

# 文件判断是否存在
!exists( main.cpp ) {
error( "No main.cpp file found" )
}

# 平台区分
win32 {
SOURCES += hellowin.cpp
}
unix {
SOURCES += hellounix.cpp
}
# 嵌套作用域和冒号连接符连用
win32:debug {
CONFIG += console
}
# 根据目标平台自定义构建目标的名称
CONFIG(debug, debug|release) {
mac: TARGET = $$join(TARGET,,,_debug)
win32: TARGET = $$join(TARGET,,d)
}

# 添加资源文件
RESOURCES += qml.qrc

# 使用第三方库
# 添加库目录路径
INCLUDEPATH += 3rdparty/CatWhisperer/include
# 添加库文件 注意:仅当路径包含空格时才需要双引号 -L和 -l省略文件扩展名,方便在不同平台添加第三方库
LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer

# 目标目录
DESTDIR = bin

# 添加子目录
SUBDIRS = tool.pri\
mystatic.pro

# 设置应用图标
RC_ICONS = appicon.ico