我正在写一个小的qt应用程序套件,它包含一组在同一组文件上工作的小程序.它们的组织方式如下:
/ app1/ main.cpp app2/ main.cpp app3/ main.cpp common/ project.h project.cpp somemore.h somemore.cpp appsuite.pro
当我这样做时qmake && make
,我想要构建以下二进制文件:
APP1/APP1
APP 2/APP2
APP3/APP3
我怎么写appsuite.pro
这样的工作?
我听说过有关.pri
文件的内容,但我无法弄清楚如何在我的"情境"中使用它们.
帮助赞赏,
jrh
一种方法是在每个子目录中都有一个.pro文件.
appsuite.pro:
TEMPLATE = subdirs SUBDIRS = common app1 app2 app3 app1.depends = common app2.depends = common app3.depends = common
APP1/app1.pro:
TARGET = app1 SOURCES = main.cpp INCLUDEPATH += ../common LIBS += -L../common -lcommon
common.pro文件应该构建一个静态库,然后可以链接到二进制文件中.
通用/ common.pro:
TEMPLATE = lib CONFIG = staticlib SOURCES = project.cpp more.cpp HEADERS = project.h more.h
一种方法是创建您的全局项目appsuite.pro
,如下所示:
TEMPLATE = subdirs SUBDIRS = app1 app2 app3
子项目app1.pro
也app2.pro
应该仅针对那些应用程序创建,具有关于公共/子目录的依赖性
您还可以在appsuite.pro中指定其他依赖项,例如,如果app1依赖于app2,则:
app1.depends = app2