有几种方法可以解决Qt Creator中的依赖关系。对于常规项目,Project配置下有一个依赖选项卡。对于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
中的项目不能在项目选项卡中设置常规依赖项,所以不能自动构建它,并且必须在实际项目之前手动构建所有内容或构建依赖项。
这些问题有什么解决方案吗?不使用孩子Subdirs
可以解决1号但不能解决问题。无论如何,2仍然是一个问题。
答案 0 :(得分:1)
您的评估基本上是正确的。
1)您只能在作为此子目录.pro文件的子项目的项目之间的子目录.pro文件中设置依赖项,以便使Project 2
依赖于Project 1
您需要进行Subdirs 2
Subdirs 1
1}}依赖于Project 2
或摆脱子子目录。
2)要在关注Project 1
的依赖关系时构建Master Subdirs
,您必须构建Project 1
,或者,如果您打开Project 2
和Dependencies
在Qt Creator中的单个项目中,您需要在Project 2
的项目配置下的float: left
选项卡中配置依赖项。