背景
当一个大项目中包含多个子项目时,往往子项目之间有依赖关系,这时需要在pro文件中指明子项目的编译顺序,否则编译整个项目的时候可能会失败。
实现
现有项目一名称为Porject1,包含三个子项目分别为SubProject1、SubProject2、SubProject3、SubProject4。
依赖关系如下:
SubProject2 ----> SubProject1
SubProject4 ----> SubProject2 SubProject3
//子项目2依赖子项目1,子项目4依赖子项目2和子项目3 所以编译顺序依次为子项目1、子项目2、子项目3、子项目4.
根据上述的依赖关系,pro文件内容如下:
TEMPLATE = subdirs
SUBDIRS += SubProject1 SubProject2 SubProject3 SubProject4
SubProject2.depends = SubProject1 #子项目2依赖子项目1
SubProject4.depends = SubProject2 SubProject3 #子项目4依赖子项目2和3
使用depends来指明项目的依赖项即可指定编译顺序。