QMake를 사용하여 단일 프로젝트에서 여러 바이너리를 구축하는 방법은 무엇입니까?

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

  •  20-09-2019
  •  | 
  •  

문제

동일한 파일 세트에서 작동하는 작은 프로그램 세트로 구성된 작은 QT 앱 제품군을 작성하고 있습니다. 그들은 다음과 같이 구성됩니다.

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

내가 할 때 qmake && make, 나는 다음 바이너리를 건설하기를 원합니다.

  • APP1/APP1
  • APP2/APP2
  • APP3/APP3

어떻게 쓰나요? appsuite.pro 이렇게 일하기 위해?
나는 뭔가 들었습니다 .pri 파일이지만 내 "상황"에서 사용하는 방법을 알 수 없었습니다.

감사합니다.
JRH

도움이 되었습니까?

해결책

이를 수행하는 한 가지 방법은 하위 디렉토리 당 .pro 파일을 갖는 것입니다.

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

Common.pro 파일은 정적 라이브러리를 빌드 한 다음 바이너리에 연결할 수 있습니다.

Common/Common.pro :

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

다른 팁

한 가지 방법은 글로벌 프로젝트를 만드는 것입니다 appsuite.pro, 이와 같이:

TEMPLATE = subdirs
SUBDIRS = app1 app2 app3

하위 프로젝트 app1.pro 그리고 app2.pro 공통/ 하위 디렉토리에 대한 종속성과 함께 해당 응용 프로그램만으로 만들어야합니다.

APP1이 APP2에 의존하는 경우 AppSuite.pro에 다른 종속성을 지정할 수도 있습니다.

app1.depends = app2
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top