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

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.