2010-12-29 14 views
1

ich arbeiten muss die folgende Verzeichnisstruktur:Problem bekommen Qmake Projektabhängigkeiten

 
- project 
    - test.pro 
    - test2 
     - test2.pro 

test.pro wie folgt aussieht:

# ... 
SUBDIRS = test2 

Das Problem ist, dass, wenn ich laufen:

qmake test.pro
make

... es baut nur test und nicht test2.

Warum wird test2 nicht auch gebaut? Was muss ich tun, um einem Qt-Projekt mitzuteilen, dass es zuerst ein anderes Projekt erstellen soll?

Antwort

4

Das Hinzufügen zu SUBDIRS hat keine Auswirkungen auf andere TEMPLATE als auf Unterverzeichnisse, und Sie können nicht mehrere TEMPLATE in einer einzelnen .pro-Datei haben. Mit anderen Worten, Sie können keine einzige .pro-Datei zum Erstellen von Binärdateien und zum Aufrufen von Unterprojekten verwenden.

Sie benötigen eine Top-Level-.pro-Datei, die nur enthält Subdirects. Zum Beispiel könnte Ihre test.pro sein:

TEMPLATE = subdirs 
SUBDIRS = test1 test2 

... und Sie würden dann Verzeichnisse für test1 und test2 haben.

Wenn Sie Ihren Code nicht in ein Unterverzeichnis reorganisieren möchten, können Sie auch die Namen von .pro-Dateien (anstelle von Verzeichnisnamen) in SUBDIRS einfügen. Zum Beispiel könnte Ihre test.pro sein:

TEMPLATE = subdirs 
SUBDIRS = test1.pro test2 

... wo test1.pro im selben Verzeichnis wie test.pro existieren kann, und haben die übliche TEMPLATE = App Sachen.

Verwandte Themen