Bibliotheken von Drittanbietern verwenden
qmake erlaubt es Ihnen, Bibliotheken von Drittanbietern mit Qt zu verwenden. Nehmen wir an, Sie kennen eine plattformübergreifende Bibliothek, die Audio-Samples des Miauens einer Katze akzeptiert und in englische Wörter übersetzt. Diese Bibliothek heißt CatWhisperer
und hat mehrere Dateien, die sie als Teil ihrer Bibliothek bereitstellt. Ihr Projekt, MyQtApp
, speichert diese Dateien in einem Ordner namens 3rdparty
:
- MyQtApp/
- MyQtApp.pro
- src/
- main.cpp
- 3rdparty/
- CatWhisperer
- include/
- KatzenFlüsterer.h
- lib/
- libCatWhisperer.so
- CatWhisperer.lib
- bin/
- CatWhisperer.dll
- include/
- CatWhisperer
Um die Bibliothek CatWhisperer
in MyQtApp
zu verwenden, benötigt qmake
den Speicherort und die Namen der Bibliotheken CatWhisperer
. Optional können Sie auch:
- Geben Sie den Ort des
CatWhisperer
Quellcodes an, damit Sie nicht den vollständigen Pfad zu jeder Datei eingeben müssen, wenn Sie sie in Ihren eigenen Code einbinden. - Wählen Sie den Zielort, an dem die ausführbare Datei
MyQtApp
erstellt werden soll.
Die obigen Informationen werden in der Datei .pro
bereitgestellt, so dass qmake
sie analysieren und Makefiles erzeugen kann. Makefiles enthalten alle Informationen, die von Ihrem Compiler und Linker benötigt werden, um eine ausführbare Datei, eine andere Bibliotheksdatei usw. zu erzeugen. Die nächsten Abschnitte erklären die Syntax, mit der qmake
diese Informationen von Ihnen erwartet.
Quellcode
Um in der Lage zu sein, zu schreiben
#include <CatWhisperer.h>
anstelle von
#include <3rdparty/CatWhisperer/include/CatWhisperer.h>
zu schreiben, können Sie den Pfad zum Verzeichnis CatWhisperer
include
angeben, indem Sie die Variable INCLUDEPATH verwenden:
INCLUDEPATH += 3rdparty/CatWhisperer/include
Bibliotheksdateien
Um qmake
mitzuteilen, wo die CatWhisperer
Bibliotheksdateien zu finden sind, verwenden Sie die LIBS-Variable:
LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer
Der erste Teil des Ausdrucks teilt dem Linker mit, in welchem Verzeichnis er nach den Bibliotheksdateien suchen soll. Die doppelten Anführungszeichen sind nur notwendig, wenn der Pfad Leerzeichen enthält, also hätten wir sie in diesem Beispiel auch weglassen können.
Der zweite Teil teilt dem Linker mit, gegen welche Bibliotheken er linken soll. Wir haben zwei verschiedene Bibliotheksdateien für UNIX-Plattformen bzw. Windows: libCatWhisperer.so
und CatWhisperer.lib
. Es ist nicht notwendig, die Erweiterung .lib
oder das Präfix lib
(auf UNIX-Plattformen) anzugeben.
Zielverzeichnis
Standardmäßig erstellt qmake
die ausführbare Datei in demselben Verzeichnis wie die Datei .pro
. Mit der Variable DESTDIR können wir unser eigenes Verzeichnis wählen:
DESTDIR = bin
That's it! Sie können nun die Bibliothek CatWhisperer
in Ihrem Projekt verwenden. Die endgültige Datei .pro
sieht wie folgt aus:
TARGET = MyQtApp TEMPLATE = app INCLUDEPATH += 3rdparty/CatWhisperer/include SOURCES += src/main.cpp LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer
Siehe auch Qt Creator:Hinzufügen von Bibliotheken zu qmake-Projekten.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.