Qt-Quellen aus dem Git-Repository holen

Einführung

Dieser Abschnitt beschreibt, wie man die Qt-Quellen über das Git-Versionskontrollsystem beziehen kann. Dies ist nützlich in Software-Entwicklungsprozessen, die bereits Git verwenden und beim Testen verschiedener Qt-Versionen. Es ist auch wichtig, wenn Sie vorhaben, zu Qt beizutragen.

Hinweis: Die Qt-Quellen können auch über Qt Online Installer installiert und als Archiv vom Qt-Konto (kommerzielle Nutzer) oder von download.qt.io (Open-Source-Nutzer) heruntergeladen werden.

Qt wird in mehreren Git-Submodulen entwickelt und gewartet, die in einem qt5 Supermodul zusammengefasst sind. Um die Qt-Quellen aus Git zu beziehen, muss das Git-Repository der obersten Ebene über die Git-Befehlszeile geklont und die Submodule mit dem Befehl Qt configure initialisiert werden.

Hinweis: Qt 5 und Qt 6 nutzen dasselbe Repository, und Sie arbeiten mit dem Repository qt5, auch wenn Sie Qt 6 verwenden.

Vorbereitungen

Beginnen Sie mit der Überprüfung des Abschnitts Building Qt Sources und der Anforderungen für Ihre Plattform, um sicherzustellen, dass alle Voraussetzungen installiert sind. Darüber hinaus benötigen Sie eine aktuelle Version von Git.

Wenn Sie planen, wohin Sie die Qt-Quellen klonen wollen, denken Sie daran, dass Qt Out-of-Source-Builds unterstützt, bei denen der Quellcode getrennt von den Build-Artefakten gespeichert wird. Dadurch bleibt der Git-Klon sauber und es ist möglich, verschiedene Versionen von Qt aus demselben Quellbaum zu erstellen. In dieser Übersicht wird das Verzeichnis, das die Qt-Quellen enthält, als qt-sources bezeichnet, während das Verzeichnis, das die Build-Artefakte enthält, als qt-build bezeichnet wird.

Klonen des Qt-Git-Repositorys

Beginnen Sie mit dem Erstellen des Verzeichnisses qt-sources. Verwenden Sie Git in diesem Verzeichnis, um die Quellen zu klonen. Im Folgenden werden wir die Git-Befehlszeilenschnittstelle verwenden. Achten Sie auf das nachgestellte Zeichen '.', das anzeigt, dass Qt in das aktuelle Verzeichnis geklont wird.

git clone --branch v6.8.2 git://code.qt.io/qt/qt5.git .

Sie können auch das https-Protokoll verwenden.

git clone --branch v6.8.2 https://code.qt.io/qt/qt5.git .

Um die neueste Entwicklungsversion zu testen, lassen Sie das Argument --branch weg.

Initialisierung der Qt-Submodule

Als nächstes erstellen Sie das Build-Verzeichnis qt-build. Innerhalb dieses Verzeichnisses führen Sie den Befehl configure mit der Option -init-submodules aus.

qt-sources/configure -init-submodules

Dadurch werden alle Qt-Submodule in Ihrem Verzeichnis qt-sources rekursiv initialisiert, was einige Zeit in Anspruch nehmen kann.

Beachten Sie, dass -init-submodules mit anderen configure-Argumenten kombiniert werden kann. Wenn Sie wissen, mit welchen Qt-Submodulen Sie arbeiten werden, können Sie die Konfigurationszeit durch die Verwendung des Arguments -submodules reduzieren.

qt-sources/configure -init-submodules -submodules qtdeclarative

Dies wird qtdeclarative und die benötigten Submodule initialisieren.

Qt bauen

Wenn Sie die Qt-Quellen eingerichtet haben, bauen Sie Qt für Ihre Plattform, wie unter Erstellen von Qt-Quellen beschrieben. Das Argument -init-repository ist nur während der anfänglichen Qt-Konfiguration und nach dem Wechsel zu einem anderen Zweig erforderlich.

Zu Qt beitragen

Wenn Sie vorhaben, zu Qt beizutragen, geben Sie bei der ersten Konfiguration von Qt die Adresse -codereview-username an.

qt-sources/configure -init-submodules -codereview-username <Gerrit username>

Weitere Informationen zur Mitarbeit an Qt und zur Erstellung eines Gerrit-Benutzernamens finden Sie auf der Homepage des Qt-Projekts.

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