我正在编写一个小型qt应用程序套件,它由一组处理同一组文件的小程序组成。它们的组织方式如下:
/ app1/ main.cpp app2/ main.cpp app3/ main.cpp common/ project.h project.cpp somemore.h somemore.cpp appsuite.pro
当我qmake && make
时,我希望构建以下二进制文件:
如何写appsuite.pro
这样的工作?
我听说过有关.pri
文件的内容,但我无法弄清楚如何在我的“情境”中使用它们。
帮助表示赞赏,
JRH
答案 0 :(得分:32)
这样做的一种方法是在每个子目录中都有一个.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
答案 1 :(得分:9)
一种方法是创建您的全局项目appsuite.pro
,如下所示:
TEMPLATE = subdirs
SUBDIRS = app1 app2 app3
还应该仅为这些应用程序创建子项目app1.pro
和app2.pro
,并且对公共/子目录具有依赖性
您还可以在appsuite.pro中指定其他依赖项,例如,如果app1依赖于app2,则为:
app1.depends = app2