Bereitstellung von Qt-Anwendungen

Für die Bereitstellung einer Qt-Anwendung ist keine C++-Programmierung erforderlich. Alles, was Sie tun müssen, ist Qt und Ihre Anwendung im Release-Modus zu erstellen und dabei die in dieser Dokumentation beschriebenen Verfahren zu befolgen.

Statische vs. gemeinsam genutzte Bibliotheken

Es gibt zwei Möglichkeiten, eine Anwendung zu implementieren:

  • Statisches Linken
  • Freigegebene Bibliotheken (Frameworks auf Mac)

Das statische Linken führt zu einer eigenständigen ausführbaren Datei. Der Vorteil ist, dass Sie nur wenige Dateien bereitstellen müssen. Die Nachteile sind, dass die ausführbaren Dateien groß und unflexibel sind (d. h. eine neue Version der Anwendung oder von Qt erfordert eine Wiederholung des Bereitstellungsprozesses) und dass Sie keine Plugins bereitstellen können.

Um Plugin-basierte Anwendungen bereitzustellen, können Sie den Shared-Library-Ansatz verwenden. Gemeinsam genutzte Bibliotheken bieten auch kleinere, flexiblere ausführbare Dateien. Mit dem Shared-Library-Ansatz kann der Benutzer zum Beispiel die von der Anwendung verwendete Qt-Bibliothek unabhängig aktualisieren.

Ein weiterer Grund, warum Sie den Shared-Library-Ansatz verwenden sollten, ist, wenn Sie dieselben Qt-Bibliotheken für eine Familie von Anwendungen verwenden möchten. Wenn Sie die Binärinstallation von Qt herunterladen, erhalten Sie Qt als Shared Library.

Der Nachteil des Shared-Library-Ansatzes ist, dass Sie mehr Dateien bereitstellen müssen. Weitere Informationen finden Sie unter Gemeinsame Bibliotheken erstellen.

Qt-Bibliotheken bereitstellen

Wenn Qt nicht Teil der Systembibliotheken ist, muss es zusammen mit Ihrer Anwendung weiterverteilt werden. Das Minimum ist, die Laufzeit der von der Anwendung verwendeten Bibliotheken weiterzuverteilen. Mit statischem Linking können die Qt-Laufzeiten jedoch in die ausführbare Datei kompiliert werden.

Im Allgemeinen sollten Sie alle Plugins bereitstellen, die Ihr Qt-Build verwendet, mit Ausnahme derer, die Sie als unnötig für Ihre Anwendung und deren Benutzer identifiziert haben.

Zum Beispiel müssen Sie vielleicht Plugins für die JPEG-Unterstützung und SQL-Treiber einsetzen, aber Sie sollten auch Plugins einsetzen, die Ihre Benutzer benötigen, einschließlich solcher für die Barrierefreiheit. Weitere Informationen über Plugins finden Sie unter Erstellen von Qt-Plugins.

Anwendungen, die Qt Qml verwenden, müssen auch die QML-Module, die sie verwenden, mitliefern.

Wenn Sie eine Anwendung mit dem Shared-Library-Ansatz bereitstellen, müssen Sie sicherstellen, dass die Qt-Bibliotheken den richtigen Pfad verwenden, um die Qt-Plugins, die Dokumentation, die Übersetzung usw. zu finden. Dazu können Sie eine qt.conf Datei verwenden. Für weitere Informationen siehe qt.conf verwenden.

Je nach Konfiguration müssen auch compilerspezifische Bibliotheken weiterverteilt werden. Weitere Informationen finden Sie unter den plattformspezifischen Anwendungsabhängigkeiten für X11, Windows und macOS.

Lizenzierung

Einige der Qt-Bibliotheken basieren auf Bibliotheken von Drittanbietern, die nicht nach dem gleichen Dual-License-Modell wie Qt lizenziert sind. Daher ist beim Einsatz von Anwendungen, die diese Bibliotheken verwenden, Vorsicht geboten, insbesondere wenn die Anwendung statisch mit ihnen verknüpft ist. Weitere Informationen finden Sie unter In Qt verwendeter Code von Drittanbietern.

Einige Konfigurationen von QtNetwork verwenden OpenSSL zur Laufzeit. Der Einsatz von OpenSSL-Bibliotheken unterliegt sowohl Lizenz- als auch Exportbeschränkungen. Weitere Informationen finden Sie unter Secure Sockets Layer (SSL)-Klassen.

Plattform-spezifische Hinweise

Das Verfahren zur Bereitstellung von Qt-Anwendungen ist für die verschiedenen Plattformen unterschiedlich:

Siehe auch Deploy Translations.

© 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.