1

subdirs project私は次の構造のQtを持っています:

ExternalQtProject 
QtSubdirProjects
  - GUI
  - WebService

WebServiceLIBS外部Qtプロジェクト(WebServiceの.proファイル)から含まれています

LIBS += -L<path to ExternalQtProject>
LIBS += <some ExternalQtProject .obj files>

GUIWebサービス(GUIの.proファイル)を使用します。

LIBS += -L<path to WebService>
LIBS += <WebService .obj files>

つまり、基本的にGUIは、の1つのヘッダーファイルをWebService使用し、次に、の複数のヘッダーファイルを使用しますExternalQtProject

問題:LIBSからのエントリWebServiceもに含めるまでリンカーの問題が発生するGUIため、 :GUIからのすべてのLIBSが発生します。ExternalQtProject

LIBS += -L<path to ExternalQtProject> # I want to avoid redefinition of this
LIBS += <some ExternalQtProject .obj files>  # I want to avoid redefinition of this
LIBS += -L<path to WebService>
LIBS += <WebService .obj files>

明確な依存関係(GUI-> WebService-> ExternalQtProject)があるので、サブプロジェクトのこの再定義を回避する方法はありますか?LIBSGUI

-編集1-

QMakeのサブディレクトリテンプレートを使用するにはどうすればよいですか?プロジェクトをより適切に構成するのに役立ちますが、LIBS

4

1 に答える 1

2

Qmake .proファイルは変数を使用し、他のファイルを含めることができます。

たとえば、必要に応じてSOMELIST =foo.objbar.objおよびLIBS+=$$SOMELISTを使用できます。

SUBDIRSテンプレートは、さまざまな.proファイルを一覧表示するために使用されます。各ファイルは、通常、1つのバイナリまたは1つのライブラリの構築を担当します。

于 2012-08-04T12:35:30.917 に答える