Как использовать qmake для сборки нескольких двоичных файлов в одном проекте?
Вопрос
Я пишу небольшой пакет приложений Qt, состоящий из набора небольших программ, работающих с одним и тем же набором файлов.Они организованы следующим образом:
/ app1/ main.cpp app2/ main.cpp app3/ main.cpp common/ project.h project.cpp somemore.h somemore.cpp appsuite.pro
Когда я делаю qmake && make
, я хочу, чтобы были построены следующие двоичные файлы:
- приложение1/приложение1
- приложение2/приложение2
- приложение3/приложение3
Как мне написать appsuite.pro
работать так?
Я слышал кое-что о .pri
файлы, но я не мог понять, как их использовать в моей «ситуации».
Помощь оценена по достоинству,
джрх
Решение
Один из способов сделать это — создать файл .pro для каждого подкаталога.
appsuite.pro:
TEMPLATE = subdirs
SUBDIRS = common app1 app2 app3
app1.depends = common
app2.depends = common
app3.depends = common
приложение1/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
также должен быть создан только для этих приложений с зависимостью от подкаталога common/.
Вы также можете указать другие зависимости в appsuite.pro, например, если приложение1 зависит от приложения2, как:
app1.depends = app2