有一组Qt项目,包括一个主应用程序、一个动态库和一个静态库。需要在考虑依赖性的情况下组织它们的联合装配。是在本文中的 SUBDIRS 项目的帮助下完成的。这是 sgip_global.pro 项目组文件:
TEMPLATE = subdirs
sgip_main.subdir = ../sgip
sgip_driver.subdir = ../sgip_sokol_dll/usb_sgip_dll
sgip_db.subdir = ../rzmdblib/lib_db_rzm
SUBDIRS = sgip_main sgip_driver sgip_db
sgip_main.depends = sgip_driver sgip_db
这将创建 sgip_global 项目构建目录,其中会出现一个 makefile。其余项目收集在源代码所在的同一目录中。这是错误的,因为作者承诺
subdirs 类型的整个项目,连同它的子项目,被构建到一个影子目录中——重复源目录的结构。很舒服。
如何实现这样的装配?
事实证明,子项目不能位于主 pro 文件所在目录以外的目录中。当我将所有子项目移动到正确的目录时,一切正常。