2015-09-03 19 views
6

Załóżmy, że pobrałem bibliotekę xyz z nagłówkami i plikami binarnymi i umieszczam ją gdzieś nie w standardowych ścieżkach wyszukiwania. Dla każdego produktu mogę dodać ścieżki wyszukiwania i bibliotekę do połączenia z cpp.includePaths, cpp.libraryPaths, cpp.staticLibraries itd.Jak odnieść się do zależności bibliotek zewnętrznych w qt qbs?

Czy istnieje lepszy [standardowy] sposób na zrobienie tego? Jeśli buduję bibliotekę jako część mojego projektu, wydaje mi się, że mogę zdefiniować ścieżki w elemencie Eksport, a następnie użyć elementu Zależnie w każdym produkcie, aby automatycznie ustawić ścieżki. Wydaje się, że jest to niezły mechanizm i zastanawiam się, czy nie ma sposobu na wykorzystanie go również do zewnętrznych zależności.

Dokumentacja dla osób z KBS jest trochę cienka ...

Dzięki!

Odpowiedz

5

Zazwyczaj tworzy się własny moduł dla xyz. Możesz dodać lokalizacje, w których QBS będzie szukać modułów i importów, ustawiając właściwość qbsSearchPaths projektu. Na przykład. ustawiając go na "qbs" QBS będzie szukać dodatkowych modułów w podkatalogu "qbs/modules" twojego projektu.

Nie można umieścić plik o nazwie „xyz.qbs”, które będzie wyglądać następująco:

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

Następnie można używać go po prostu przez dodanie do projektu Depend:

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

Dzięki ! W końcu to rozgryzłem, a potem ... zapomniałem, że zadałem to pytanie. Nie wiedziałem o qbsSearchPaths, choć .. poręczne! –

Powiązane problemy