Qt pro 多项目、子目录、多层级配置(超级详细 + 实战模板)

Qt pro 多项目、子目录、多层级配置(超级详细 + 实战模板) 目录Qt pro 多项目、子目录、多层级配置超级详细 实战模板一、核心概念什么是多项目子目录subdirs典型项目结构最标准核心规则二、最外层总 pro关键三、子项目 pro 写法1. 库项目 CoreLib.pro2. 主程序 App.pro四、多层级嵌套子目录里还有子目录第二层 Libraries.pro总 Project.pro五、最常用高级配置1. 统一输出目录所有 exe、dll 放一起2. 子项目共享配置3. 指定只编译某些模块六、总结面试 实战必背1. 多项目核心2. 优点3. 一句话面试答案手把手教你Qt Creator 中配置多项目子目录subdirs一、最终要做成的项目结构先看结果二、第 1 步创建「总工程」最关键三、第 2 步往总工程里添加「子项目」四、第 3 步Qt Creator 会自动帮你配置好五、第 4 步配置「依赖关系」必须做六、第 5 步让主程序 App 能使用库七、第 6 步统一输出目录所有 exe、dll 放一起八、最终效果Qt Creator 里长这样九、超级重点总结Qt Creator 多项目口诀Qt pro 多项目、子目录、多层级配置超级详细 实战模板这是Qt 大型项目必备技能也是面试高频题我给你讲最清晰、最标准、可直接落地的多层级 pro 配置方案。一、核心概念什么是多项目子目录subdirs一个大项目分成多个小项目每个小项目有自己的.pro最外层用一个总 pro管理它们。典型项目结构最标准plaintextMyBigProject/ # 总工程 ├── MyBigProject.pro # 总配置TEMPLATE subdirs ├── App/ # 主程序exe │ ├── App.pro │ └── main.cpp ├── CoreLib/ # 核心库dll/lib │ ├── CoreLib.pro │ └── xxx.cpp └── UiTools/ # 工具库 ├── UiTools.pro └── xxx.cpp核心规则总 proTEMPLATE subdirs子 proapp或lib总 pro 用SUBDIRS管理子项目可配置编译顺序、依赖关系二、最外层总 pro关键MyBigProject.proqmakeTEMPLATE subdirs # 必须是 subdirs # 子项目目录 SUBDIRS \ CoreLib \ UiTools \ App # 编译顺序 依赖非常重要 App.depends CoreLib UiTools UiTools.depends CoreLibSUBDIRS列出所有子项目文件夹名xxx.depends谁依赖谁控制编译顺序例子App必须等CoreLib和UiTools先编译完三、子项目 pro 写法1. 库项目 CoreLib.proqmakeQT core gui TEMPLATE lib # 库 TARGET CoreLib DESTDIR $$PWD/../bin # 输出到统一目录 SOURCES xxx.cpp HEADERS xxx.h2. 主程序 App.proqmakeQT core gui widgets TEMPLATE app # 可执行程序 TARGET App DESTDIR $$PWD/../bin # 引用库 INCLUDEPATH $$PWD/../CoreLib LIBS -L$$PWD/../bin -lCoreLib SOURCES main.cpp四、多层级嵌套子目录里还有子目录支持无限层级例如plaintextProject/ ├── Project.pro ├── App/ ├── Libraries/ │ ├── Libraries.pro │ ├── Network/ │ └── Database/ └── Tools/第二层 Libraries.proqmakeTEMPLATE subdirs SUBDIRS Network Database总 Project.proqmakeTEMPLATE subdirs SUBDIRS Libraries App Tools五、最常用高级配置1. 统一输出目录所有 exe、dll 放一起qmake# 在 总 pro 里配置 CONFIG(debug, debug|release) { DESTDIR $$PWD/bin/debug } else { DESTDIR $$PWD/bin/release }2. 子项目共享配置创建一个common.pri文件所有子 pro 引用qmakeinclude($$PWD/common.pri)3. 指定只编译某些模块qmakeSUBDIRS App CoreLib CONFIG ordered # 按顺序编译六、总结面试 实战必背1. 多项目核心总工程TEMPLATE subdirs子工程app/lib用SUBDIRS管理子项目用xxx.depends管理依赖顺序2. 优点代码解耦模块化大型项目必备方便团队开发3. 一句话面试答案Qt 多项目使用 subdirs 模板总 pro 管理子 pro可配置编译顺序与依赖实现模块化分层架构。手把手教你Qt Creator 中配置多项目子目录subdirs我用最傻瓜、一步步、可直接照做的方式教你5 分钟搞定多层级多 pro 工程一、最终要做成的项目结构先看结果plaintextMyProject/ 总工程 ├── MyProject.pro 总 prosubdirs ├── App/ 主程序exe │ └── App.pro ├── CoreLib/ 核心库dll │ └── CoreLib.pro └── Utils/ 工具库dll └── Utils.pro二、第 1 步创建「总工程」最关键打开 Qt Creator → 新建项目选择Other Project→Subdirs Project项目名MyProject完成创建✅自动生成的 MyProject.pro 内容qmakeTEMPLATE subdirs SUBDIRS \ # 这里以后会自动/手动加入子项目三、第 2 步往总工程里添加「子项目」右键点击总工程 → 新子项目可以添加两种App → 生成 exeLibrary → 生成 dll/lib依次添加AppApplicationCoreLibLibraryUtilsLibrary四、第 3 步Qt Creator 会自动帮你配置好添加完后你会发现✅MyProject.pro 自动变成qmakeTEMPLATE subdirs SUBDIRS \ App \ CoreLib \ UtilsQt Creator 全部自动配置不用你手写路径五、第 4 步配置「依赖关系」必须做比如App 依赖 CoreLib 和 UtilsUtils 依赖 CoreLib打开MyProject.pro在最后加qmake# 编译顺序先编译被依赖的再编译依赖的 App.depends CoreLib Utils Utils.depends CoreLib✅ 这样 Qt Creator 就会按正确顺序编译六、第 5 步让主程序 App 能使用库打开App.pro添加库的路径qmake# 头文件路径 INCLUDEPATH $$PWD/../CoreLib \ $$PWD/../Utils # 链接库 LIBS -L$$PWD/../bin -lCoreLib -lUtils七、第 6 步统一输出目录所有 exe、dll 放一起在MyProject.pro里加qmake# 所有子项目的输出目录都统一到 bin CONFIG(debug, debug|release) { DESTDIR $$PWD/bin/debug } else { DESTDIR $$PWD/bin/release }所有子项目会自动继承这个路径不用每个都配八、最终效果Qt Creator 里长这样plaintextMyProject ├─ App ├─ CoreLib └─ Utils点运行→ 自动编译所有子项目点清理→ 全部清理调试、运行、跳转定义全部正常九、超级重点总结Qt Creator 多项目口诀总工程 Subdirs Project子项目 右键添加新子项目编译顺序 .depends路径统一 总 pro 里写 DESTDIRQt Creator 自动管理不用手写复杂路径具体案例可看下篇文章