En esta página

qt_generate_wayland_protocol_client_sources

Genera enlaces C++ del lado del cliente para un archivo .XML de protocolo Wayland.

El comando está definido en el componente WaylandClient del paquete Qt6, que puede cargarse así:

find_package(Qt6 REQUIRED COMPONENTS WaylandClient)

Este comando se introdujo en Qt 6.0.

Sinopsis

qt_generate_wayland_protocol_client_sources(target
                                            [PUBLIC_CODE | PRIVATE_CODE]
                                            [NO_INCLUDE_CORE_ONLY]
                                            FILES file1.xml [file2.xml ...])

Si los comandos sin versión están desactivados, utilice qt6_generate_wayland_protocol_client_sources() en su lugar. Admite el mismo conjunto de argumentos que este comando.

Descripción

qt_generate_wayland_protocol_client_sources() crea los pasos de compilación para ejecutar wayland-scanner y qtwaylandscanner en uno o más archivos de protocolo Wayland. Las herramientas generarán a su vez código vinculante en C y C++ para implementar los protocolos, y los archivos resultantes se construirán como parte de target.

Las opciones PUBLIC_CODE y PRIVATE_CODE (añadidas en Qt 6.8) corresponden a las opciones public-code y private-code de wayland-scanner. PUBLIC_CODE hará que se exporten los símbolos del código generado por wayland-scanner. Por compatibilidad con versiones anteriores, PUBLIC_CODE es la opción por defecto, pero en general se recomienda encarecidamente PRIVATE_CODE.

Por defecto, wayland-scanner es invocado con el argumento --include-core-only, asegurando que el código generado incluya "wayland-client-core.h". Este comportamiento puede desactivarse utilizando la opción NO_INCLUDE_CORE_ONLY, que cambia la inclusión a "wayland-client.h".

Nota: Generalmente se desaconseja el uso de NO_INCLUDE_CORE_ONLY. "wayland-client.h" incluye una versión precompilada del núcleo del protocolo Wayland que puede entrar en conflicto con versiones más recientes del protocolo u otras cabeceras (como versiones antiguas de Vulkan). Utiliza esta opción sólo si tienes una necesidad específica de tipos no presentes en la cabecera principal y eres consciente de los posibles conflictos en tiempo de compilación.

qt_generate_wayland_protocol_client_sources () activará la generación de los archivos necesarios para implementar el lado cliente del protocolo. qt_generate_wayland_protocol_server_sources() es la función equivalente para el compositor.

Vea los ejemplos de Custom Shell o Custom Extension para una demostración de cómo utilizar estas funciones.

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