2015-09-03 12 views
6

Angenommen, ich habe eine Bibliothek xyz mit Kopfzeilen und Binärdateien heruntergeladen und sie irgendwo in Standard-Suchpfade platziert. Für jedes Produkt kann ich die Suchpfade und die Bibliothek hinzufügen, die mit cpp.includePaths, cpp.libraryPaths, cpp.staticLibraries usw. verbunden werden.Wie referenzieren externe Bibliothek Abhängigkeiten in qt qbs?

Gibt es einen besseren [Standard] Weg, dies zu tun? Wenn ich die Bibliothek als Teil meines Projekts erstelle, scheint es, dass ich die Pfade in einem Export-Objekt definieren und dann ein Element "Abhängigkeiten" in jedem Produkt verwenden kann, um die Pfade automatisch festzulegen. Dies scheint ein netter Mechanismus zu sein, und ich frage mich, ob es nicht auch möglich ist, ihn für externe Abhängigkeiten zu verwenden.

Die QBS docs sind ein wenig dünn ...

Dank!

Antwort

5

Sie würden in der Regel ein eigenes Modul für xyz erstellen. Sie können Orte hinzufügen, an denen QBS nach Modulen und Importen suchen würde, indem Sie die Eigenschaft qbsSearchPaths des Projekts festlegen. Z.B. indem Sie es auf "qbs" setzen, sucht QBS nach zusätzlichen Modulen im Unterverzeichnis "qbs/modules" Ihres Projekts.

Dort konnte man eine Datei platzieren „xyz.qbs“ genannt, die wie folgt aussehen:

import qbs 
Module { 
    Depends { name: "cpp" } 
    property string xyzPath: "the/xyz/path" 
    cpp.includePaths: xyzPath + "/include" 
    cpp.libraryPath: xyzPath + "/lib" 
    cpp.staticLibraries: "xyz" 
} 

Sie dann durch einfaches Hinzufügen von ein zu einem Projekt Depend verwenden:

import qbs 
Project { 
    qbsSearchPaths: "qbs" 
    CppApplication { 
     name: "myApp" 
     files: "src/**" 
     Depends { name: "xyz" } 
    } 
} 
+0

Dank ! Ich hatte es schließlich herausgefunden und dann .. vergaß, dass ich diese Frage gestellt hatte. Ich wusste nichts über qbsSearchPaths, aber .. praktisch! –

Verwandte Themen