如何在 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 2
或 Project 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 1
和 Project 2
作为Qt Creator中的独立项目,需要在Project 2
.
项目配置下的Dependencies
选项卡中配置依赖
在 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 2
或 Project 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 1
和 Project 2
作为Qt Creator中的独立项目,需要在Project 2
.
Dependencies
选项卡中配置依赖