Wie verwende ich qmake mehrere Binärdateien in einem einzigen Projekt zu bauen?

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

  •  20-09-2019
  •  | 
  •  

Frage

Ich bin eine kleine qt App Suite zu schreiben, die auf dem gleichen Satz von Dateien, die Arbeit einer Reihe von kleinen Programmen besteht. Sie sind wie folgt organisiert:

/
  app1/
    main.cpp
  app2/
    main.cpp
  app3/
    main.cpp
  common/
    project.h
    project.cpp
    somemore.h
    somemore.cpp
  appsuite.pro

Wenn ich qmake && make tun, möchte ich die folgenden Binärdateien gebaut werden:

  • app1 / app1
  • app2 / app2
  • app3 / app3

Wie schreibe ich appsuite.pro an der Arbeit wie das?
Ich habe etwas über .pri Dateien gehört, aber ich konnte nicht herausfinden, wie sie verwenden in meiner „Situation“.

Hilfe geschätzt,
JRH

War es hilfreich?

Lösung

Eine Möglichkeit, es zu tun, ist eine .proDatei pro Unterverzeichnis haben.

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

Die common.pro Datei sollte eine statische Bibliothek bauen können Sie verknüpfen in die Binärdateien.

common / common.pro:

TEMPLATE = lib
CONFIG = staticlib
SOURCES = project.cpp more.cpp
HEADERS = project.h more.h

Andere Tipps

Eine Möglichkeit ist Ihr globales Projekt appsuite.pro zu erstellen, wie folgt aus:

TEMPLATE = subdirs
SUBDIRS = app1 app2 app3

Die Teilprojekte app1.pro und app2.pro sollten auch für diese Anwendungen allein geschaffen werden, mit einer Abhängigkeit in Bezug auf die gemeinsame / Unterverzeichnis

Sie können auch andere Abhängigkeiten in appsuite.pro, zum Beispiel angeben, ob app1 auf app2 abhängen, wie:

app1.depends = app2
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top