Qt pour Linux - Compilation à partir du code source
Cette page décrit comment configurer et compiler Qt pour Linux à partir des sources. Notez qu’il est généralement plus simple d’installer les bibliothèques et outils Qt précompilés via Qt Online Installer. De nombreuses distributions Linux proposent également des paquets Qt via leur gestionnaire de paquets. Compilez toutefois Qt à partir des sources si vous souhaitez personnaliser davantage Qt ou si vous utilisez une distribution pour laquelle aucun paquet binaire Qt (de la bonne version) n'est disponible.
Les responsables de paquets des distributions trouveront de plus amples informations sur la manière de créer des paquets Qt dans les recommandations de packaging.
Étape 1 : Obtenir les sources
Les sources de Qt peuvent être installées à l'adresse Qt Online Installer. Les paquets source sont également disponibles via Git, sous forme d'archives dans le compte Qt (utilisateurs commerciaux) et sur download.qt.io (utilisateurs open source).
Si vous installez les sources via Qt Online Installer, elles seront disponibles dans le répertoire d'installation de Qt, par exemple $HOME/Qt/6.12.0/Src.
Si vous avez téléchargé l’archive unique contenant les sources, extrayez-la dans un répertoire de votre choix :
cd /tmp
tar xf ~/Downloads/qt-everywhere-src-6.12.0.tar.xzÉtape 2 : Installer les prérequis de compilation
La compilation de Qt nécessite un environnement de compilation comprenant des outils, des compilateurs et des paquets de développement.
Outils de compilation
| Outil | Versions prises en charge |
|---|---|
| CMake | Version 3.25 et ultérieures. |
| Ninja | - |
| Python | Version 3 |
Remarque : configure utilise toujours le générateur et l'outil de compilation Ninja si un exécutable ninja est disponible. Ninja est multiplateforme, riche en fonctionnalités, performant et recommandé sur toutes les plateformes. L'utilisation d'autres générateurs peut fonctionner, mais n'est pas officiellement prise en charge.
Compilateurs et paquets de développement
Les compilateurs et configurations suivants sont pris en charge dans Qt 6.12 :
| Distribution | Architecture | Compilateur | Remarques |
|---|---|---|---|
| Red Hat™ 9.6 | x86_64 | GCC 11 | |
| Red Hat 10,0 | x86_64 | GCC 14 | |
| openSUSE 16.0 | x86_64 | GCC 15 | |
| SUSE Linux Enterprise Server 15 SP6 | x86_64 | GCC 11 | |
| Ubuntu 22.04 | x86_64 | GCC fourni par Canonical, GCC 11.x | Voir aussi : Paquets Debian Enterprise Qt. |
| Ubuntu 24.04 | x86_64, arm64 | GCC fourni par Canonical, GCC 13.x | Consultez la note concernant la prise en charge de Linux sur les ordinateurs de bureau Arm. |
| Debian 11.6 | x86_64, arm64 | GCC 10 | Voir la remarque concernant la prise en charge de Linux sur les ordinateurs de bureau Arm. |
| Debian 12 | x86_64, arm64 | GCC 12 | Voir également : Paquets Debian Enterprise Qt. Consultez la remarque concernant la prise en charge de Linux sur les ordinateurs de bureau Arm. |
Remarque : pour Linux sur Arm sur les ordinateurs de bureau, nous utilisons un Raspberry Pi 5 avec 8 Go de RAM et Ubuntu 24.04 comme plate-forme de référence. Si vous rencontrez un problème avec un autre matériel, veuillez essayer de le reproduire sur un Raspberry Pi 5. Nous prévoyons de passer à une prise en charge standard de la plateforme lorsqu'une gamme plus large de matériel de bureau basé sur ARM sera disponible. Les binaires officiels disponibles sur Qt Online Installer sont compilés sous Ubuntu 24.04, qui est livré avec glibc 2.39. Si votre version de glibc est plus ancienne que celle utilisée pour la compilation, vous devrez recompiler à partir des sources.
D'autres compilateurs et configurations peuvent fonctionner, mais ne font pas l'objet de tests actifs.
Qt dépend également de la disponibilité de diverses bibliothèques et paquets de développement, qui sont généralement installés par le gestionnaire de paquets de la distribution concernée. Consultez la page Qt pour Linux - Configuration requise pour plus de détails.
Étape 3 : Compiler les bibliothèques et les outils Qt
Pour configurer votre compilation, créez un répertoire de compilation et exécutez le script ` ./configure ` dans ce répertoire :
mkdir -p ~/dev/qt-build
cd ~/dev/qt-build
/tmp/qt-everywhere-src-6.12.0/configurePar défaut, Qt est configuré pour être installé dans le répertoire /usr/local/Qt-6.12.0. Vous pouvez modifier cela à l'aide de l'option -prefix. Consultez la liste des options de configuration pour effectuer d'autres réglages.
Le script ` configure ` s'est-il exécuté avec succès ? Dans ce cas, passez à la compilation des bibliothèques et des outils :
cmake --build . --parallelUne fois la compilation terminée, vous devez installer les bibliothèques et les outils à l'emplacement approprié (sauf si vous avez activé une compilation pour développeurs) :
cmake --install .Notez que cela peut nécessiter un accès root.
Étape 4 : Compilation de votre application
Une fois Qt installé, vous pouvez commencer à créer des applications avec cet outil.
Si vous travaillez en ligne de commande, pensez à ajouter les outils Qt à votre répertoire par défaut ` PATH`. Pour ce faire, procédez comme suit :
Dans le fichier ` .profile ` (si votre shell est bash, ksh, zsh ou sh), ajoutez les lignes suivantes :
PATH=/usr/local/Qt-6.12.0/bin:$PATH
export PATHDans le fichier ` .login ` (si votre shell est `csh` ou `tcsh`), ajoutez la ligne suivante :
setenv PATH /usr/local/Qt-6.12.0/bin:$PATHSi vous prévoyez de compiler votre application à partir d’un IDE, vous devez y enregistrer explicitement la version de Qt :
- Pour Qt Creator, consultez Qt Creator: Ajouter des versions de Qt.
- Pour l'Qt Extension for Visual Studio Code, consultez Qt Extension for Visual Studio Code: Enregistrer les installations 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.