Budowanie wielu celów w Qt / Qmake

Jak mogę określić wiele celów z różnymi konfiguracjami w Qt? Czy można to zrobić w jednym pliku. pro?

Na przykład chciałbym zbudować następujące pliki 2. pro (bez konieczności ręcznej zmiany pliku .pro za każdym razem):

TargetA:

QT += network
TEMPLATE = app
SOURCES += main.cpp \
    mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += resource.qrc

TARGET = targetA
DEFINES += PARAMA

TargetB:

  QT += network
  TEMPLATE = app
  SOURCES += main.cpp \
      mainwindow.cpp
  HEADERS += mainwindow.h
  FORMS += mainwindow.ui
  RESOURCES += resource.qrc

  TARGET = targetB
  DEFINES += PARAMB
 19
Author: Switch, 2010-02-13

2 answers

Możesz zdefiniować wiele konfiguracji dla pliku. pro:

QT += network
TEMPLATE = app
SOURCES += main.cpp \
    mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += resource.qrc

configA {
TARGET = targetA
DEFINES += PARAMA
}

configB {
  TARGET = targetB
  DEFINES += PARAMB
}

Możesz użyć parametru CONFIG podczas uruchamiania qmake.

qmake x.pro CONFIG+=configA
 37
Author: alisami,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-11 16:03:33

Możesz przenieść części, które oba pliki mają wspólne, aby je oddzielić .plik pri. Następnie plik common może być odwołany do plików docelowych za pomocą funkcji include: include (common.pri)

 6
Author: Nico,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-14 11:16:24