Bibliotheken von Drittanbietern
Die Verwendung einer Bibliothek eines Drittanbieters mit Qt ist ein einfacher Prozess. Nehmen wir an, Sie kennen eine plattformübergreifende Bibliothek, die Audiosamples des Miauens einer Katze akzeptiert und sie 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 .pro
Datei sieht wie folgt aus:
TARGET = MyQtApp TEMPLATE = app INCLUDEPATH += 3rdparty/CatWhisperer/include SOURCES += src/main.cpp LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer
Siehe auch qmake Manual und Qt Creator: Adding Libraries to Projects.
© 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.