qt_generate_wayland_protocol_client_sources
Erzeugt client-seitige C++ Bindungen für eine Wayland Protokoll .XML Datei
Der Befehl ist in der WaylandClient Komponente des Qt6 Pakets definiert, das so geladen werden kann:
find_package(Qt6 REQUIRED COMPONENTS WaylandClient)
Dieser Befehl wurde in Qt 6.0 eingeführt.
Synopse
qt_generate_wayland_protocol_client_sources(target
[PUBLIC_CODE | PRIVATE_CODE]
[NO_INCLUDE_CORE_ONLY]
FILES file1.xml [file2.xml ...])Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen qt6_generate_wayland_protocol_client_sources(). Es unterstützt den gleichen Satz an Argumenten wie dieser Befehl.
Beschreibung
qt_generate_wayland_protocol_client_sources() erzeugt die Build-Schritte, um wayland-scanner und qtwaylandscanner auf einer oder mehreren Wayland-Protokolldateien auszuführen. Die Werkzeuge generieren ihrerseits Bindungscode in C und C++ für die Implementierung der Protokolle, und die resultierenden Dateien werden als Teil von target gebaut.
Die Optionen PUBLIC_CODE und PRIVATE_CODE (hinzugefügt in Qt 6.8) entsprechen den Optionen public-code und private-code von wayland-scanner. PUBLIC_CODE bewirkt, dass die Symbole im Code, der von wayland-scanner erzeugt wird, exportiert werden. Aus Gründen der Abwärtskompatibilität ist PUBLIC_CODE der Standard, aber im Allgemeinen wird PRIVATE_CODE dringend empfohlen.
Standardmäßig wird wayland-scanner mit dem Argument --include-core-only aufgerufen, wodurch sichergestellt wird, dass der generierte Code "wayland-client-core.h" enthält. Dieses Verhalten kann mit der Option NO_INCLUDE_CORE_ONLY deaktiviert werden, die das Include auf "wayland-client.h" umstellt.
Hinweis: Von der Verwendung von NO_INCLUDE_CORE_ONLY wird generell abgeraten. "wayland-client.h" enthält eine vorkompilierte Version des Wayland-Kernprotokolls, die mit neueren Protokollversionen oder anderen Headern (wie älteren Versionen von Vulkan) in Konflikt geraten kann. Verwenden Sie diese Option nur, wenn Sie spezielle Anforderungen an Typen haben, die nicht im Core-Header enthalten sind, und sich der möglichen Konflikte bei der Erstellung bewusst sind.
qt_generate_wayland_protocol_client_sources() löst die Generierung der Dateien aus, die zur Implementierung der Client-Seite des Protokolls benötigt werden. qt_generate_wayland_protocol_server_sources() ist die entsprechende Funktion für den Compositor.
Eine Demonstration der Verwendung dieser Funktionen finden Sie in den Beispielen Custom Shell oder Custom Extension.
© 2026 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.