Domanda

Sto scrivendo una piccola suite di app qt che si compone di un insieme di piccoli programmi che funzionano sullo stesso set di file. Sono organizzati in questo modo:

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

Quando faccio qmake && make, voglio i seguenti file binari da costruire:

  • app1 / app1
  • app2 / app2
  • APP3 / APP3

Come faccio a scrivere appsuite.pro a lavorare in questo modo?
Ho sentito qualcosa sui file .pri, ma non riuscivo a capire come usarli nella mia "situazione".

Guida apprezzato,
JRH

È stato utile?

Soluzione

Un modo per farlo è quello di avere un file .pro per ogni sottodirectory.

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

Il file common.pro deve costruire una libreria statica è quindi possibile collegare nelle file binari.

common / common.pro:

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

Altri suggerimenti

Un modo è quello di creare il appsuite.pro progetto globale, in questo modo:

TEMPLATE = subdirs
SUBDIRS = app1 app2 app3

Il app1.pro sottoprogetti e app2.pro dovrebbero essere creati anche per le applicazioni da solo, con una dipendenza per quanto riguarda il comune / sottodirectory

È inoltre possibile specificare altre dipendenze in appsuite.pro, per esempio se app1 dipende app2, come:

app1.depends = app2
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top