gpt4 book ai didi

c++ - Qt Creator 如何运行 SUBDIRS 项目

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:10 25 4
gpt4 key购买 nike

我已经使用 Qt Creator 一段时间了,我的项目越来越大,我想转而使用 Qt's SUBDIRS模板类型,以更好地组织我不断发展的项目。

我的项目结构类似如下

/master
|--- master.pro
`--- project1
| |--- project1.pro
| `--- ... (source files specific to project1)
`--- project2
| |--- project2.pro
| `--- ... (source files specific to project2)
`--- shared
`--- ... (source files shared between project1 and project2)

project1 和 project2 都是单独的独立项目,但为了方便和可维护性,它们在共享文件夹中共享一些源/头文件。

我的大部分开发时间通常花在共享文件和 project1 上。因此,当我对共享文件进行更改时,project1 和 project2 最终都必须更新以使用这些共享文件。

我的问题是,假设我刚刚对共享文件和项目 1 进行了更改,但尚未更新项目 2。我如何从 QtCreator 运行 project1 以便测试我的更改?显然,在一天/一周/一个月结束时,我会修复 project2 以处理这些更改,但同时我将如何运行 project1?

enter image description here

如果我右键单击 project1,它会显示“运行”选项。然而,为了让它在这里工作,整个“master.pro”必须能够无错误地编译。

我知道有一种解决方法,我可以自己加载 project1.pro,但我想加载 master.pro 并从子项目运行它。

如有任何帮助,我们将不胜感激。

最佳答案

Not all of my projects ready to run the code, how can I select one project to run, having subdir root project?

您可以维护多个 TEMPLATE = app 项目来启动部分代码,例如,对选定库以及整个应用程序 GUI 启动程序进行单元测试。并尝试在 TEMPLATE = lib 类型的项目中尽可能多地隔离共享代码。 lib 类型的项目需要是静态库还是动态的 DEFINES += SHAREDLIB_LIBRARY 是另一个问题,答案取决于您如何分发应用程序。我用许多动态库维护我当前的 subdir 项目,以防止它们由于内存限制而一直链接到可执行文件。

打开“项目”菜单并确保运行配置指向包含主要功能的应用程序项目并具有:

# app.pro file contains
TEMPLATE = app

还有

# unit_test1.pro file contains
TEMPLATE = app

如果您的某些项目无法编译,请将其从 subdirs 项目中排除:

TEMPLATE = subdirs
SUBDIRS = lib unit-test
# SUBDIRS = lib unit-test app # app not ready
# app.depends = lib # may exclude dependcies
unit-test.depends = lib

注意以下启动项目的“运行配置”选择:

enter image description here

附言不要忘记在项目文件更改后运行 qmake。

关于c++ - Qt Creator 如何运行 SUBDIRS 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41514620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com