En esta página

Creación de Qt para QNX

Configuración de QNX SDP

Para compilar Qt 6 es necesario descargar e instalar un SDP de QNX desde el sitio web de QNX.

Nota: Se requiere una licencia adecuada. Póngase en contacto con QNX para obtener más información.

Nota: No añada paquetes Wayland experimentales de QNX Software Center a su instalación de QNX SDP 8.0. No son necesarios para compilar Qt. No son necesarios para compilar Qt pero pueden causar un conflicto de cabecera al configurar una compilación de Qt.

El compilador y otras partes de la cadena de herramientas se proporcionan en los paquetes SDP. Inicialice su entorno de compilación ejecutando el script de instalación de QNX desde su carpeta de instalación de SDP en un terminal de la siguiente manera:

source qnxsdp-env.sh

O ejecute qnxsdp-env.bat en el intérprete de comandos de Windows.

Compilación host

Es necesario disponer de una compilación host de Qt para poder realizar la compilación cruzada de Qt. Esto se debe a que, durante la compilación, ciertas herramientas (como moc, rcc, qmlcachegen, y qsb) se invocan desde la compilación host. Tienes dos opciones:

Creación de un archivo toolchain para QNX

Para realizar la compilación cruzada de un proyecto con CMake, se necesita un archivo toolchain. Este archivo de lenguaje CMake establece los valores correctos para el nombre de la plataforma, compilador/enlazador, y muchas otras cosas específicas de la cadena de herramientas. Como referencia, puedes encontrar los archivos toolchain utilizados en CI desde el paquete fuente coin/provisioning/common/shared/cmake_toolchain_files

set(CMAKE_SYSTEM_NAME QNX)
set(CMAKE_SYSTEM_PROCESSOR armle-v7)
set(arch gcc_ntoarmv7le)

set(CMAKE_C_COMPILER qcc)
set(CMAKE_C_COMPILER_TARGET ${arch})
set(CMAKE_CXX_COMPILER q++)
set(CMAKE_CXX_COMPILER_TARGET ${arch})

set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR})

set(CMAKE_SYSROOT $ENV{QNX_TARGET})

El archivo de ejemplo es para armv7le. Las otras posibilidades son aarch64le y x86_64, dependiendo de su arquitectura de destino.

Nota: Cmake no pasa las variables STRIP, AR, RANLIB y NM correctamente en QNX, por lo que si se usan, deben especificarse por separado en un archivo de cadena de herramientas.

Configurar y compilar Qt para QNX

Para configurar y compilar Qt para QNX, necesitas lo siguiente:

  • Las herramientas para construir Qt, como se describe en Construir fuentes Qt, están en su lugar y son funcionales para su plataforma host.
  • El archivo toolchain, en este ejemplo $HOME/qnx.cmake.
  • El código fuente de Qt descargado o instalado, en este ejemplo en $HOME/qt.
  • Compilación host de Qt, en este ejemplo $HOME/qt-host.
  • Prefijo para la ubicación de instalación de la compilación de Qt en el sistema local, en este ejemplo $HOME/qnx-install.
  • Prefijo para la ubicación de despliegue de la compilación de Qt en el dispositivo de destino, en este ejemplo /qt.

Después de crear y cambiar al directorio build, ejecute lo siguiente:

$HOME/qt/configure -nomake examples -nomake tests \
-qt-host-path $HOME/qt-host \
-extprefix $HOME/qnx-install \
-prefix /qt \
-- -DCMAKE_TOOLCHAIN_FILE=$HOME/qnx.cmake  \
-DCMAKE_SYSTEM_VERSION=710  \
$HOME/qt

Desde Qt 6, la herramienta configure es una envoltura alrededor de CMake y en la práctica, este comando configure es equivalente a la siguiente llamada directa a CMake:

cmake -GNinja -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF \
-DQT_HOST_PATH=$HOME/qt-host \
-DCMAKE_STAGING_PREFIX=$HOME/qnx-install \
-DCMAKE_INSTALL_PREFIX=/qt \
-DCMAKE_TOOLCHAIN_FILE=$HOME/qnx.cmake  \
-DCMAKE_SYSTEM_VERSION=710  \
$HOME/qt

Elija el valor de CMAKE_SYSTEM_VERSION en función de su versión de QNX SDP:

  • 710 para QNX SDP 7.1
  • 800 para QNX SDP 8.0

Si sólo trabaja con una versión de QNX, también puede definir CMAKE_SYSTEM_VERSION en su archivo de cadena de herramientas.

Nota: Al compilar en Windows, PCH (Precompiled Headers) debe estar explícitamente desactivado, ya que activarlo provoca que el compilador QNX se bloquee. Para desactivar PCH, utilice la opción de configuración -no-pch.

Nota: Si utiliza QNX SDP 8.0, omita los módulos no compatibles y sus módulos dependientes utilizando las opciones de configuración -skip qtmultimedia -skip qtspeech -skip qtremoteobjects -skip qtinterfaceframework.

Una vez que la configuración se complete sin errores, compile Qt ejecutando lo siguiente:

cmake --build . --parallel

Nota: El compilador QNX puede requerir más memoria que el compilador utilizado para la compilación del host. Utilice --parallel <numOfProcesses> para limitar el número máximo de procesos simultáneos durante la compilación.

Una vez compilado, ejecute lo siguiente:

cmake --install .

Esto instala los resultados en $HOME/qnx-install. Desde ahí puedes desplegar la compilación Qt al dispositivo de destino usando Qt Creator, scp directamente o algún otro método. El parámetro de configuración -prefix (/qt en el ejemplo) define la ubicación de despliegue en el dispositivo de destino.

Construir aplicaciones para el dispositivo de destino

Cuando hayas terminado de compilar Qt y esté instalado en la ubicación de despliegue, puedes compilar ejemplos o aplicaciones.

Con CMake, utiliza el script qt-cmake generado en el directorio bin de la ubicación de montaje ($HOME/qnx-install en el ejemplo) para configurar la construcción de la aplicación y luego ejecuta ninja. Por ejemplo:

$HOME/qnx-install/bin/qt-cmake .
cmake --build .

A continuación, puede implementar el binario de la aplicación resultante en el dispositivo. Usar el script de ayuda qt-cmake es conveniente porque el script asegura que el archivo toolchain que fue usado para construir Qt es cargado, así que no hay necesidad de especificarlo repetidamente para cada aplicación.

Si estás usando una instalación de Qt que no ha sido construida en tu máquina, qt-cmake necesita saber la localización del archivo CMake toolchain para la plataforma de destino.

En tal caso, indique a qt-cmake que cargue en cadena un archivo de cadena de herramientas personalizado configurando la variable QT_CHAINLOAD_TOOLCHAIN_FILE como se indica a continuación:

$HOME/qnx-install/bin/qt-cmake -DQT_CHAINLOAD_TOOLCHAIN_FILE=$HOME/qnx.cmake .

Cuando se construyen aplicaciones en Qt Creator usando una instalación Qt que no ha sido construida en su máquina, la variable CMAKE_TOOLCHAIN_FILE, apuntando al archivo toolchain local, necesita ser añadida a la configuración del kit(Edit > Preferences > Kits).

Para más información sobre cómo conectar y añadir kits para dispositivos QNX mientras se utiliza Qt Creator, consulte Conexión de dispositivos QNX.

Bibliotecas de terceros

Asegúrese de que la imagen de su sistema contiene las siguientes bibliotecas adicionales de terceros que no siempre se incluyen en las imágenes mínimas de QNX Neutrino RTOS:

  • libfontconfig
  • libfreetype
  • libiconv
  • libicui18n
  • libicudata
  • libicuuc
  • libpng16
  • libxml2
  • libsqlite3
  • libssl
  • libcrypto
  • libzstd

Nota: Esta no es una lista completa de las bibliotecas compartidas utilizadas por Qt en QNX Neutrino OS. Múltiples bibliotecas compartidas ya están disponibles en una imagen típica del SO, o incluidas por otras partes del sistema, por ejemplo Screen.

Ver también Opciones de configuración de Qt y Configuración de Qt.

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