¿Cómo uso qmake para construir múltiples binarios en un mismo proyecto?

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

  •  20-09-2019
  •  | 
  •  

Pregunta

Estoy escribiendo una pequeña suite de aplicaciones qt que consiste en un conjunto de pequeños programas que funcionan en el mismo conjunto de archivos. Ellos están organizados así:

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

Cuando yo qmake && make, quiero los siguientes binarios que se construirán:

  • app1 / app1
  • app2 / app2
  • app3 / app3

¿Cómo escribo appsuite.pro para trabajar de esta manera?
He oído algo acerca de los archivos .pri, pero no pude encontrar la manera de usarlos en mi "situación".

Ayuda apreciado, España JRH

¿Fue útil?

Solución

Una forma de hacerlo es tener un archivo .pro en cada subdirectorio.

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

El archivo common.pro debe construir una biblioteca estática a continuación, puede vincularse con los binarios.

común / common.pro:

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

Otros consejos

Una forma es crear su appsuite.pro global de proyectos, como este:

TEMPLATE = subdirs
SUBDIRS = app1 app2 app3

El app1.pro subproyectos y app2.pro también deben ser creados para aquellas aplicaciones solo, con una dependencia con respecto a la común / subdirectorio

También puede especificar otras dependencias en appsuite.pro, por ejemplo, si app1 depende de app2, como:

app1.depends = app2
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top