简述
进行Qt项目开发的时候,尤其是大型项目,经常涉及多工程/多模块问题,其主要思想还是模块化,目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
配置
效果
多工程
如果需要管理多工程(pro),比如:库工程、界面工程,其中,每一个工程均可单独编译成功,但存在依赖关系。也就是说,lib2依赖于lib1,而UI依赖于lib2。
配置如下:
- 配置TEMPLATE为subdirs设置多工程
- 配置SUBDIRS,指定需要添加的工程模块
- 配置CONFIG为ordered指定顺序编译
例如:
TEMPLATE = subdirs
#SUBDIRS +=
# SubProject3
# SubProject2
# SubProject
SUBDIRS += $$PWD/SubProject3/SubProject3.pro
$$PWD/SubProject2/SubProject2.pro
$$PWD/SubProject/SubProject.pro
CONFIG += ordered
多模块
延续多工程,如果某一个工程功能比较多,我们必然要进行模块化。例如:界面工程包含:登录界面、设置界面、主界面。。。这时,我们就可以使用pri模块化了。
include($$PWD/Login/Login.pri)
include($$PWD/Settings/Settings.pri)
include($$PWD/MainWindow/MainWindow.pri)