Comment qmake dois-je utiliser pour créer plusieurs fichiers binaires dans un seul projet?
Question
J'écris une petite suite de l'application qt qui se compose d'un ensemble de petits programmes qui fonctionnent sur le même ensemble de fichiers. Ils sont organisés comme ceci:
/ app1/ main.cpp app2/ main.cpp app3/ main.cpp common/ project.h project.cpp somemore.h somemore.cpp appsuite.pro
Quand je ne qmake && make
, je veux que les binaires suivants à construire:
- app1 / app1
- App2 / App2
- ANN3 / ANN3
Comment puis-je écrire appsuite.pro
à travailler comme ça?
Je l'ai entendu parler de fichiers .pri
, mais je ne pouvais pas comprendre comment les utiliser dans ma « situation ».
Aide appréciée,
JRH
La solution
Une façon de le faire est d'avoir un fichier .pro par sous-répertoire.
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
Le fichier common.pro doit construire une bibliothèque statique vous pouvez créer un lien dans les binaires.
commune / common.pro:
TEMPLATE = lib
CONFIG = staticlib
SOURCES = project.cpp more.cpp
HEADERS = project.h more.h
Autres conseils
Une façon est de créer votre appsuite.pro
global du projet, comme ceci:
TEMPLATE = subdirs
SUBDIRS = app1 app2 app3
Les sous-projets app1.pro
et app2.pro
devraient également être créés pour ces applications seul, avec une dépendance en ce qui concerne la commune / sous-répertoire
Vous pouvez également spécifier d'autres dépendances dans appsuite.pro, par exemple, si app1 dépend de App2, comme:
app1.depends = app2