Как использовать qmake для сборки нескольких двоичных файлов в одном проекте?

StackOverflow https://stackoverflow.com/questions/1538398

  •  20-09-2019
  •  | 
  •  

Вопрос

Я пишу небольшой пакет приложений 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top