Wie geben Sie eine library-Datei Abhängigkeit für qmake Qt?
Haben eine SomeLib.pro-Datei, die enthält:
CONFIG += debug
TEMPLATE = lib
TARGET = SomeLib
..
Dann in einem abhängigen SomeApp.pro:
..
debug:LIBS += -lSomeLib_debug
..
Wie kann ich Kraft SomeApp zu bauen, wenn ich Sie berührte, SomeLib in qmake?
Ich mache Gebrauch von qtcreator. So war ich der Hoffnung auf eine Lösung in einem .pro Datei.
InformationsquelleAutor Derick Schoonbee | 2009-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist hässlich, weil Sie brauchen, um geben Sie die genaue library-Datei-Namen, aber dieser sollte funktionieren:
TARGETDEPS += libfoo.ein
Verwenden PRE_TARGETDEPS statt.
warum? was ist Los mit TARGETDEPS ?
Das ist nicht hässlich - implizit voranstellen
lib
alles ist hässlich - libzlib jemand?InformationsquelleAutor Ariya Hidayat
QT Creator wird die Arbeit zu tun, wenn Sie klicken Sie auf "Add library..." im Kontext-Menü des Projekts, der sollte auch die Bibliothek.
Diese Variablen werden automatisch für Sie konfiguriert:
Siehe auch http://doc.qt.digia.com/qtcreator-2.1/creator-project-qmake-libraries.html
InformationsquelleAutor pi3
In der Antwort zu Zahir ' s Kommentar, es ist vielleicht darauf hinzuweisen, dass die Angabe dieser Abhängigkeit in qmake Dateien ist unnötig, wenn man mit DLLs, aber ist wesentlichen wenn Sie Ihre exe-Datei hängt von einer statischen Bibliothek.
InformationsquelleAutor Clare Macrae
qmake
nicht über diese Fähigkeit.Stattdessen setzen Sie Ihre app und die lib in Unterverzeichnisse, dann erstellen Sie ein Makefile in Ihrem übergeordneten Verzeichnis sieht ungefähr so aus:
Dann immer laufen
make
aus diesem Verzeichnis.InformationsquelleAutor Mark Beckwith
Verwendet habe ich:
Es funktioniert, aber es ist umständlich da es notwendig ist, geben Sie den vollständigen Pfad zu der Bibliothek, das ist unterschiedlich für jedes Betriebssystem - /compiler.
InformationsquelleAutor
sicher, dass kann nicht möglich sein, du redest mit qmake zu tun, ein reverse-dependency-lookup? also, was u wollen, ist für Sie zu bauen app B (und jede andere app abhängig Bibliothek A) nachdem Sie eine änderung vorgenommen haben, um Eine Bibliothek?
das ist ein bisschen wie zu sagen, kompilieren Sie alle visual basic-Anwendungen wenn vbrun300.dll aktualisiert wird?
InformationsquelleAutor Zahir J