Wie verwende ich qmake mehrere Binärdateien in einem einzigen Projekt zu bauen?
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
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