Comment qmake dois-je utiliser pour créer plusieurs fichiers binaires dans un seul projet?

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

  •  20-09-2019
  •  | 
  •  

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

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top