如何在 Subdirs 项目中正确配置依赖项?

How to properly configure dependencies in Subdirs project?

在 Qt Creator 中有几种处理依赖关系的方法。对于常规项目,项目配置下有一个依赖项选项卡。对于 Subdirs 项目,可以为每个项目提供一个 .depends 参数。 DOCS 但是 Subdirs 项目可以包含其他 Subdirs 项目,因此依赖项可以跨越这些项目,子项目下的项目依赖于不同子项目中的另一个项目:

Master Subdirs
L--- Subdirs 1
     L--- Project 1
L--- Subdirs 2
     L--- Project 2 //depends on Project 1

此设置有两个问题:

1) 无法在 Master Subdirs 中设置依赖关系,因为它不知道 Project 2Project 1(对于 Subdirs 2 也是如此)。唯一可以设置的是Subdirs 2是否依赖Subdirs 1,但是如果相互依赖就没有用了。

2) 单独构建 Project 2 时,它不知道在 Subdirs 项目中设置的依赖项,因为 Subdirs 中的项目不能在项目选项卡中设置常规依赖项不能自动构建它,必须在实际项目之前构建所有内容或手动构建依赖项。

这些问题有什么解决办法吗?不使用 child Subdirs 可以解决第 1 个问题,但不能。无论如何,2 仍然是一个问题。

你的评价基本正确

1) 您只能在作为此子目录 .pro 文件的子项目之间的子目录 .pro 文件中设置依赖项,因此要使 Project 2 依赖于 Project 1,您要么需要Subdirs 2 依赖于 Subdirs 1 或摆脱子目录。

2) 要构建 Project 2 而关于对 Project 1 的依赖,您要么必须构建 Master Subdirs,要么,如果您打开 Project 1Project 2 作为Qt Creator中的独立项目,需要在Project 2.

项目配置下的Dependencies选项卡中配置依赖