Как использовать qmake для создания нескольких двоичных файлов в одном проекте?
Я пишу небольшой набор приложений 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
- app2/app2
- app3/app3
Как написать appsuite.pro
для работы следующим образом?
Я слышал что-то о файлах .pri
, но я не мог понять, как их использовать в моей "ситуации".
Помогите оценить,
JRH
Ответы
Ответ 1
Один из способов сделать это - иметь .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
Ответ 2
Один из способов - создать глобальный проект appsuite.pro
, например:
TEMPLATE = subdirs
SUBDIRS = app1 app2 app3
Подпроекты app1.pro
и app2.pro
также должны создаваться только для этих приложений с зависимостью от общего/подкаталога
Вы также можете указать другие зависимости в appsuite.pro, например, если app1 зависит от приложения2, как:
app1.depends = app2