Pergunta

Estou escrevendo um pequeno conjunto de aplicativos QT que consiste em um conjunto de pequenos programas que funcionam no mesmo conjunto de arquivos. Eles estão organizados assim:

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

Quando eu faço qmake && make, Eu quero que os seguintes binários sejam construídos:

  • App1/App1
  • App2/App2
  • APP3/APP3

Como eu escrevo appsuite.pro trabalhar assim?
Eu ouvi algo sobre .pri arquivos, mas não consegui descobrir como usá -los na minha "situação".

Ajuda apreciado,
jrh

Foi útil?

Solução

Uma maneira de fazer isso é ter um arquivo .pro por subdiretório.

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

O arquivo Common.Pro deve criar uma biblioteca estática que você possa vincular aos binários.

Common/Common.pro:

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

Outras dicas

Uma maneira é criar seu projeto global appsuite.pro, assim:

TEMPLATE = subdirs
SUBDIRS = app1 app2 app3

Os subprojetos app1.pro e app2.pro também deve ser criado apenas para esses aplicativos, com uma dependência em relação ao comum/ subdiretório

Você também pode especificar outras dependências no appsuite.pro, por exemplo, se o App1 depende do App2, como:

app1.depends = app2
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top