Wie verwende ich Shadow Build mit relativen Unterverzeichnissen?

8

Ich versuche ein SUBDIR qmake-Projekt mit relativen Unterverzeichnissen zu verwenden:

%Vor%

Wenn der QT-Ersteller dieses Projekt mit "shadow build" erstellt, dh in einem anderen Verzeichnis, legt er die Ausgabe der Datei folgendermaßen ab:

%Vor%

Weil mein Unterverzeichnis relativ ist, verwendet es den gleichen relativen Pfad für die Ausgabe und versucht lib1 in Shadow-Build-Directory/../lib1 !

zu erstellen

Wie kann ich das vermeiden?

Danke.

BEARBEITEN: Ich benutze das neueste Qt 5.5.

    
Thibaut D. 24.07.2015, 08:21
quelle

1 Antwort

0

Neue Antwort: Ich habe einige Tests gemacht und außerhalb des Root-Projekts zu sein scheint ein großes Problem für qmake zu sein: $$ shadowed () gibt nichts zurück (wie in der Dokumentation für außerhalb von Quellbaum), und aus den gleichen Gründen wird .qmake.conf (undokumentiertes Feature) im Root-Projektverzeichnis nicht in lib1-Projekt geladen.

Ich denke, die Lösung für Ihr Problem besteht darin, lib1 als eigenständiges Projekt zu behalten und die Bibliothek ein für allemal zu erstellen. Fügen Sie dann in jedem Ihrer Projekte den Verweis auf die Binärdateien und Header von lib1 hinzu.

Es könnte sogar mit qmake Funktionen automatisiert werden: In jedem deiner Projekte gibst du den Pfad deiner lib1 richtig geschriebenen Eigenschaft, dann

hinzufügen %Vor%

würde die Pfad- und Link-Direktive für Ihre Projekte automatisch konfigurieren.

Alte Antwort: Ich kann es jetzt nicht versuchen, aber ich schätze das

%Vor%

in der Datei lib.pro sollte Ihr Problem beheben.

    
Tryum 24.07.2015 14:06
quelle

Tags und Links