Подтвердить что ты не робот

Как использовать 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

4b9b3361

Ответ 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