Sur cette page

Construire Qt pour QNX

Configuration de QNX SDP

La construction de Qt 6 nécessite le téléchargement et l'installation d'un SDP QNX à partir du site web de QNX.

Note : Une licence appropriée est requise. Contactez QNX pour plus d'informations.

Note : N'ajoutez pas les paquets expérimentaux Wayland du QNX Software Center à votre installation QNX SDP 8.0. Ils ne sont pas nécessaires pour construire Qt mais peuvent causer un conflit d'en-tête lors de la configuration d'une construction de Qt.

Le compilateur et d'autres parties de la chaîne d'outils sont fournis dans les paquets SDP. Initialisez votre environnement de construction en exécutant le script d'installation de QNX à partir de votre dossier d'installation SDP dans un terminal comme suit :

source qnxsdp-env.sh

Ou exécutez qnxsdp-env.bat dans le shell de commande Windows.

Construction de l'hôte

Une version hôte de Qt doit être disponible pour la compilation croisée de Qt. En effet, lors de la compilation, certains outils (tels que moc, rcc, qmlcachegen et qsb) sont invoqués à partir de la compilation hôte. Vous avez deux options :

Création d'un fichier de chaîne d'outils pour QNX

Pour effectuer une compilation croisée d'un projet avec CMake, vous avez besoin d'un fichier de chaîne d'outils. Ce fichier de langage CMake définit les valeurs correctes pour le nom de la plate-forme, le compilateur/linker et de nombreux autres éléments spécifiques à la chaîne d'outils. Pour référence, vous pouvez trouver les fichiers de chaîne d'outils utilisés dans CI dans le paquet source 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})

Le fichier d'exemple est celui de armv7le. Les autres possibilités sont aarch64le et x86_64, en fonction de votre architecture cible.

Note : Cmake ne passe pas les variables STRIP, AR, RANLIB et NM correctement sur QNX, donc si elles sont utilisées, elles doivent être spécifiées séparément dans un fichier de chaîne d'outils.

Configurer et compiler Qt pour QNX

Pour configurer et construire Qt pour QNX, vous avez besoin des éléments suivants :

  • Les outils de construction de Qt, décrits dans Construire les sources de Qt, sont en place et fonctionnels pour votre plate-forme hôte.
  • Le fichier de la chaîne d'outils, dans cet exemple $HOME/qnx.cmake.
  • Le code source de Qt extrait ou installé, dans cet exemple sous $HOME/qt.
  • La version hôte de Qt, dans cet exemple $HOME/qt-host.
  • Préfixe de l'emplacement d'installation de la compilation de Qt sur le système local, dans cet exemple $HOME/qnx-install.
  • Préfixe de l'emplacement de déploiement de la version de Qt Location sur le dispositif cible, dans cet exemple /qt.

Après avoir créé le répertoire build et y avoir basculé, exécutez ce qui suit :

$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

Depuis Qt 6, l'outil configure est une enveloppe autour de CMake et en pratique, cette commande configure est équivalente à l'appel direct de CMake suivant :

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

Choisissez la valeur de CMAKE_SYSTEM_VERSION en fonction de votre version de QNX SDP :

  • 710 pour QNX SDP 7.1
  • 800 pour QNX SDP 8.0

Si vous ne travaillez qu'avec une seule version de QNX, vous pouvez également définir CMAKE_SYSTEM_VERSION dans votre fichier de chaîne d'outils.

Note : Lors de la compilation sous Windows, PCH (Precompiled Headers) doit être explicitement désactivé, car son activation provoque un plantage du compilateur QNX. Pour désactiver PCH, utilisez l'option de configuration -no-pch.

Remarque : si vous utilisez QNX SDP 8.0, sautez les modules non pris en charge et leurs modules dépendants à l'aide des options de configuration -skip qtmultimedia -skip qtspeech -skip qtremoteobjects -skip qtinterfaceframework.

Une fois la configuration terminée sans erreur, compilez Qt en exécutant ce qui suit :

cmake --build . --parallel

Note : Le compilateur QNX peut nécessiter plus de mémoire que le compilateur utilisé pour la construction de l'hôte. Utilisez --parallel <numOfProcesses> pour limiter le nombre maximum de processus simultanés lors de la construction.

Une fois la compilation terminée, exécutez la commande suivante :

cmake --install .

Ceci installe les résultats sur $HOME/qnx-install. À partir de là, vous pouvez déployer la version Qt sur le périphérique cible en utilisant Qt Creator, scp directement ou une autre méthode. Le paramètre de configuration -prefix (/qt dans l'exemple) définit l'emplacement de déploiement sur l'appareil cible.

Création d'applications pour l'appareil cible

Lorsque vous avez terminé la construction de Qt Location et qu'il est installé dans l'emplacement de transit, vous pouvez construire des exemples ou des applications.

Avec CMake, utilisez le script qt-cmake généré dans le répertoire bin de l'emplacement staging ($HOME/qnx-install dans l'exemple) pour configurer la construction de l'application, puis exécutez ninja. Par exemple :

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

Vous pouvez ensuite déployer l'application binaire résultante sur l'appareil. L'utilisation du script d'aide qt-cmake est pratique car le script garantit que le fichier de chaîne d'outils utilisé pour la construction de Qt est chargé, de sorte qu'il n'est pas nécessaire de le spécifier à plusieurs reprises pour chaque application.

Si vous utilisez une installation de Qt qui n'a pas été construite sur votre machine, qt-cmake doit connaître l'emplacement du fichier CMake toolchain pour la plate-forme cible.

Dans ce cas, demandez à qt-cmake de charger en chaîne un fichier de chaîne d'outils personnalisé en définissant la variable QT_CHAINLOAD_TOOLCHAIN_FILE comme suit :

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

Lorsque vous construisez des applications dans Qt Creator en utilisant une installation Qt qui n'a pas été construite sur votre machine, la variable CMAKE_TOOLCHAIN_FILE, qui pointe vers le fichier toolchain local, doit être ajoutée à la configuration du kit(Édition > Préférences > Kits).

Pour plus d'informations sur la connexion et l'ajout de kits pour les périphériques QNX lors de l'utilisation de Qt Creator, voir Connexion des périphériques QNX.

Bibliothèques tierces

Assurez-vous que votre image système contient les bibliothèques tierces supplémentaires suivantes qui ne sont pas toujours incluses dans les images RTOS minimales de QNX Neutrino :

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

Remarque : il ne s'agit pas d'une liste complète des bibliothèques partagées utilisées par Qt sur QNX Neutrino OS. De nombreuses bibliothèques partagées sont déjà disponibles dans une image typique du système d'exploitation, ou incluses par d'autres parties du système, par exemple Screen.

Voir aussi Options de configuration de Qt et Configuration 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.