利用 qmake 构建 Qt 项目与开发过程细节说明

本文介绍使用 qmake 构建 Qt 应用程序的标准流程,并附带一个 .pro 文件的示例。同时说明了开发过程中在逻辑设计上的注意事项。


1. 利用 qmake 进行 Qt 项目编译

Qt 提供的 qmake 工具可以自动根据 .pro 文件生成 Makefile 文件,从而简化项目的构建流程。

构建步骤:

1
2
3
4
qmake               # 生成 Makefile
make # 执行编译
./MyApplication # 运行程序

.pro文件配置如下

#————————————————-
#

Project created by QtCreator

#————————————————-

指定项目模板类型,可为 app(应用程序)、lib(库)等

TEMPLATE = app

生成的目标可执行文件名称

TARGET = MyApplication

使用的 Qt 模块

QT += core gui

QT += widgets # 如使用 QWidget 可启用

编译器配置

CONFIG += c++17 console

源文件列表

SOURCES +=
main.cpp
mainwindow.cpp

头文件列表

HEADERS +=
mainwindow.h

UI 界面文件(来自 Qt Designer)

FORMS +=
mainwindow.ui

资源文件(可选)

RESOURCES += resources.qrc

外部包含路径与库

INCLUDEPATH += /path/to/includes
LIBS += -L/path/to/libs -lname

编译宏定义

DEFINES += QT_DEPRECATED_WARNINGS

输出目录与中间目录配置

DESTDIR = bin
OBJECTS_DIR = build/obj
MOC_DIR = build/moc
RCC_DIR = build/rcc
UI_DIR = build/ui

完整示例:

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
DESTDIR = ./build/bin
OBJECTS_DIR = ./build/obj
MOC_DIR = ./build/moc
RCC_DIR = ./build/rcc
UI_DIR = ./build/ui

QT += core gui concurrent

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

greaterThan(QT_MAJOR_VERSION, 4): CONFIG += c++11
lessThan(QT_MAJOR_VERSION, 5): QMAKE_CXXFLAGS += -std=c++11

LIBS += -L/lib/aarch64-linux-gnu -lcurl
LIBS += -L/lib/aarch64-linux-gnu -lpaho-mqtt3c
LIBS += -L/lib/aarch64-linux-gnu -lqrencode
LIBS += -L/lib/aarch64-linux-gnu -lpng

TARGET = collect
TEMPLATE = app


SOURCES += main.cpp\
mainwindow.cpp\
qcustomplot.cpp\
max30102.cpp\
MaxPlot.cpp \
MQTTWorker.cpp\
QRCodeGenerator.cpp


HEADERS += qcustomplot.h\
mainwindow.h\
MaxPlot.h\
max30102.h \
MQTTWorker.h \
QRCodeGenerator.h

开发过程中的细节考虑
在Qt的mainwindow.cpp文件里面,不可出现扫描通道的代码,原因是,在用户层面不需要考虑扫描通道的问题,只需要得到数据。

利用 qmake 构建 Qt 项目与开发过程细节说明

https://garyaacm.github.io/2024/12/05/Linux下的QT设计/

作者

Gary

发布于

2024-12-05

更新于

2025-05-19

许可协议

评论

:D 一言句子获取中...

加载中,最新评论有1分钟缓存...