34

同じファイルのセットで動作する小さなプログラムのセットで構成される小さな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

4

2 に答える 2

36

これを行う1つの方法は、サブディレクトリごとに.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
于 2009-10-08T15:44:59.080 に答える
10

appsuite.pro1つの方法は、次のようにグローバルプロジェクトを作成することです。

TEMPLATE = subdirs
SUBDIRS = app1 app2 app3

サブプロジェクトは、common /サブディレクトリに関する依存関係を使用して、これらのアプリケーションのみ用に作成する必要がありますapp1.proapp2.pro

appsuite.proで他の依存関係を指定することもできます。たとえば、app1がapp2に依存している場合は、次のようになります。

app1.depends = app2
于 2009-10-08T15:46:26.927 に答える