Options de configuration de Qt
configure est un outil en ligne de commande qui vous aide à construire une version personnalisée de Qt à partir des sources. Il fait partie du répertoire principal des sources de Qt.
Depuis Qt 6, configure est une enveloppe autour de CMake. CMake peut également être invoqué directement. configure fournit un contrôle d'erreur supplémentaire et assure la compatibilité avec Qt 5.
Cette page présente certaines des options de configure. Pour obtenir la liste complète des options, entrez la commande configure -h.
Remarque : sauf indication contraire, les commandes présentées sur cette page sont destinées aux plateformes Linux. Sur macOS et Windows, le site PATH et la structure des répertoires sont différents, c'est pourquoi les commandes varieront. En outre, sur les systèmes Windows, le script de configuration s'appelle configure.bat.
Déroulement de la configuration
configure doit être appelé dans un environnement de construction fonctionnel où CMake, les compilateurs et les outils de construction requis sont facilement disponibles. Building Qt Sources liste ces dépendances par plate-forme.
Après avoir mis en place un tel environnement, le flux de travail typique est de créer un répertoire de construction séparé, et d'exécuter d'abord configure, puis de construire Qt, et enfin d'installer Qt :
~/qt-source/configure cmake --build . --parallel cmake --install .
Il se peut que vous souhaitiez expérimenter différents drapeaux de configuration, et donc exécuter configure plusieurs fois. Notez que CMake met en cache les options de configuration et les informations sur l'environnement dans un fichier appelé CMakeCache.txt. Supprimez ce fichier lorsque vous voulez recommencer sans les informations mises en cache.
Répertoires Source, Build et Install
Le répertoire source contient le code source obtenu à partir du paquetage source ou du dépôt git. Le répertoire build est l'endroit où sont stockés les fichiers liés à la construction, tels que les fichiers du système de construction, les fichiers d'objets et d'autres fichiers intermédiaires. Le répertoire install est l'endroit où les binaires et les bibliothèques sont installés, pour être utilisés soit par le système, soit par l'application.
Il est recommandé de garder ces répertoires séparés en faisant du shadow-building et en utilisant l'option -prefix. Cela vous permet de garder l'arbre des sources de Qt propre des artefacts de construction et des binaires, qui sont stockés dans un répertoire séparé. Cette méthode est très pratique si vous voulez avoir plusieurs constructions à partir de la même arborescence des sources, mais pour des configurations différentes. Pour effectuer une construction fictive, exécutez configure à partir d'un répertoire séparé :
mkdir ~/qt-build cd ~/qt-build ~/qt-source/configure -prefix /opt/Qt6
Configurer avec l'option -prefix signifie que les binaires et les bibliothèques Qt sont installés dans un autre répertoire, qui est /opt/Qt6 dans ce cas.
Exemples, tests et outils
Par défaut, configure ne configure que les bibliothèques et les outils de Qt. Vous pouvez utiliser -make examples ou -make tests pour construire également les exemples ou les tests fournis avec Qt :
~/qt-source/configure -make examples -make tests
Vous pouvez également configurer Qt de manière à ce que les exemples, les tests et les outils soient configurés, mais ne soient pas construits par défaut. Si vous mettez les variables CMake QT_BUILD_EXAMPLES_BY_DEFAULT, QT_BUILD_TESTS_BY_DEFAULT, et QT_BUILD_TOOLS_BY_DEFAULT à OFF, les parties respectives ne seront pas construites par cmake --build .. Au lieu de cela, CMake générera des cibles individuelles que vous pourrez ensuite construire individuellement.
Ici, nous construisons les bibliothèques et les outils Qt, mais aussi l'exemple NotePad:
~/qt-source/configure -make examples -- -D QT_BUILD_EXAMPLES_BY_DEFAULT=OFF cmake --build . --parallel cmake --build . --parallel --target notepad
Note : L'option -developer-build construit les tests par défaut. Voir aussi Developer Builds ci-dessous.
Configurations de construction
Vous pouvez construire les bibliothèques et les outils Qt dans différentes variantes, chacune d'entre elles étant optimisée pour un cas d'utilisation différent.
Builds de débogage et de mise à jour
-release indique au compilateur d'optimiser le code et de ne pas fournir de symboles de débogage supplémentaires avec Qt et ses outils.
-debug ignore certaines optimisations pour faciliter le débogage de Qt et de ses outils. Cette option permet également de générer des symboles de débogage qui vous permettent d'inspecter le code et l'état des bibliothèques construites dans un débogueur.
Enfin, -debug-and-release vous permet de construire à la fois une variante de débogage et une variante de mise à jour des bibliothèques Qt en une seule fois. Ceci n'est possible que si vous configurez une compilation pour Windows.
D'autres options permettent d'affiner les configurations :
-force-debug-info: Crée une version de compilation avec des informations de débogage.-separate-debug-info: Extrait les informations de débogage dans un fichier séparé.-optimize-size: Optimise les versions de compilation en fonction de la taille plutôt que de la vitesse.
Constructions statiques et partagées
Les modules Qt peuvent être construits comme des bibliothèques séparées qu'un exécutable lie et charge au démarrage (pour les bibliothèques Qt), ou à l'exécution (pour les plugins Qt). C'est ce qu'on appelle une compilation partagée et c'est la configuration par défaut sur la plupart des plates-formes. L'option de configuration correspondante est -shared.
Vous pouvez également compiler Qt de manière à ce qu'un binaire exécutable inclue tous les modules Qt auxquels il est lié et tous les plugins Qt dont il a besoin. C'est ce qu'on appelle une construction statique, qui peut être sélectionnée lors de la configuration à l'aide de l'option -static.
Générateurs CMake
Lors de la configuration, vous pouvez sélectionner un générateur CMake. Notez que CMake supporte des générateurs qui ne peuvent pas être utilisés avec Qt. Par conséquent, configure sélectionne automatiquement un générateur pour vous.
configure utilise toujours le générateur Ninja et l'outil de construction si un exécutable ninja est disponible. Ninja est à la fois multiplateforme, riche en fonctionnalités et performant, et est recommandé sur toutes les plateformes. L'utilisation d'autres générateurs peut fonctionner, mais n'est pas officiellement supportée.
Modules et fonctionnalités
Le code source de Qt est organisé en plusieurs répertoires de premier niveau appelés sous-modules, par exemple qtbase, qtdeclarative ou qtmultimedia. Dans ces sous-modules, vous trouverez le code source des différents modules de Qt. Qt Core, Qt Quick, et Qt Multimedia sont des exemples de ces modules Qt.
Remarque : de nombreux sous-modules (répertoires de source de premier niveau) portent le même nom que les modules Qt qu'ils mettent en œuvre, mais ce n'est pas toujours le cas. Par exemple, qtdeclarative contient Qt Quick et Qt Qmlet divers modules connexes. Consultez le fichier README.md dans les répertoires respectifs pour avoir une vue d'ensemble.
Les sous-modules peuvent être explicitement inclus ou exclus pour limiter les temps de construction. De plus, chaque module Qt peut avoir des fonctionnalités qui peuvent également être explicitement activées ou désactivées.
Inclure et exclure les sous-modules Qt
L'option -skip de configure est utilisée pour exclure les sous-modules (répertoires sources de premier niveau) de la compilation de Qt. L'exclusion d'un sous-module exclut tous les modules Qt à l'intérieur de ce sous-module. Le sous-module qtwayland contient à la fois le module Qt Wayland Compositor et le plugin Qt Wayland QPA. Spécifier -skip qtwayland comme option de configure exclura donc les deux modules Qt.
~/qt-source/configure -skip qtwayland
L'option -submodules de configure peut être utilisée pour configurer une compilation qui ne construit que les sous-modules listés et leurs dépendances. Par exemple, en spécifiant le sous-module qtmultimedia, Qt Multimedia et toutes ses dépendances seront incluses dans la compilation. Plusieurs sous-modules peuvent être séparés par des virgules.
~/qt-source/configure -submodules qtmultimedia,qtactiveqt
Inclure ou exclure des fonctionnalités
Les options -feature-<feature> et -no-feature-<feature> permettent respectivement d'inclure et d'exclure des fonctionnalités spécifiques.
Par exemple, vous pouvez utiliser l'option de configuration -no-feature-accessibility pour désactiver la prise en charge de l'accessibilité dans Qt :
~/qt-source/configure -no-feature-accessibility
Utilisez configure -list-features pour afficher une liste de toutes les fonctionnalités disponibles sur la ligne de commande. Notez que les fonctionnalités peuvent dépendre d'autres fonctionnalités, de sorte que la désactivation d'une fonctionnalité peut avoir des effets secondaires sur d'autres fonctionnalités.
Bibliothèques tierces
Les paquets sources de Qt incluent des bibliothèques tierces. Pour déterminer si Qt doit utiliser les versions du système des bibliothèques ou utiliser la version fournie, passez -system ou -qt avant le nom de la bibliothèque à configurer.
Le tableau ci-dessous résume certaines options tierces :
| Nom de la bibliothèque | Intégrée à Qt | Installée dans le système |
|---|---|---|
| zlib | -qt-zlib | -system-zlib |
| libjpeg | -qt-libjpeg | -system-libjpeg |
| libpng | -qt-libpng | -system-libpng |
| freetype | -qt-freetype | -system-freetype |
| PCRE | -qt-pcre | -system-pcre |
| HarfBuzz-NG | -qt-harfbuzz | -system-harfbuzz |
Il est également possible de désactiver la prise en charge de la plupart de ces bibliothèques en utilisant -no au lieu de -qt.
configure dans Qt Location 6 s'appuie sur CMake pour localiser les bibliothèques tierces. Il le fait en vérifiant divers chemins d'accès au système. Si vous avez installé les bibliothèques ailleurs, vous pouvez le faire savoir à CMake en définissant ou en étendant la variable CMAKE_PREFIX_PATH.
Pour une liste complète des options, consultez l'aide de configure -help.
SSL
Qt Network peut être configurée pour prendre en charge la communication pour Secure Sockets Layer (SSL), mais elle n'implémente pas elle-même les algorithmes. Il a besoin de s'appuyer sur d'autres bibliothèques à la place.
Sous Windows, Qt peut utiliser la bibliothèque Secure Channel du système à cette fin (option de configuration -schannel). Sur macOS et iOS, Qt peut être configuré pour utiliser l'API SecureTransport (option de configuration -securetransport).
Le support le plus complet qui fonctionne également sur presque toutes les plateformes cibles est fourni par la boîte à outils OpenSSL (option -openssl). Qt nécessite OpenSSL 1.1.1 ou une version ultérieure.
Qt peut être configuré pour utiliser OpenSSL de trois manières :
- Qt Network il charge les bibliothèques OpenSSL (DLL) dès qu'il en a besoin, au moment de l'exécution. Si elles ne sont pas trouvées, l'application continue de fonctionner mais ne parvient pas à gérer la communication SSL. Cette option est activée en utilisant l'option configure
-openssl-runtime. - Qt Network L'option configure permet d'établir des liens avec les bibliothèques OpenSSL. Si elles ne sont pas trouvées au moment du chargement, l'application ne démarre pas. Cette option est activée en utilisant l'option configure
-openssl-linked. - Qt Network compile avec une version statique des bibliothèques OpenSSL, et OpenSSL devient une partie de la bibliothèque Qt Network. Cette option est activée en utilisant l'option configure
openssl-linkedet en définissant la variableOPENSSL_USE_STATIC_LIBSàON.
Définissez la variable CMake OPENSSL_ROOT_DIR si OpenSSL n'est pas installé dans un emplacement standard et n'est donc pas trouvé par configure.
Voir Secure Sockets Layer (SSL) Classes pour plus d'instructions sur la prise en charge de SSL par Qt.
Options de compilation croisée
Pour configurer Qt pour le développement et le déploiement multiplateforme, vous devez d'abord avoir une version de Qt correspondant à la machine hôte. De plus, la chaîne d'outils de développement pour la plateforme cible doit être configurée. Cette configuration varie selon les plates-formes prises en charge.
Les options courantes sont les suivantes
-external-hostbindir- Chemin d'accès aux outils Qt conçus pour cette machine.-device- Sélectionner devices/mkspec pour les fichiers compagnons de qmake.-device-option- définit des variables qmake supplémentaires.
Note : Les chaînes d'outils pour les cibles autres que les ordinateurs de bureau sont souvent accompagnées d'un " sysroot " pour lequel Qt doit être configuré.
Constructions pour développeurs
L'option de configuration -developer-build est une option de commodité qui optimise la compilation pour le développement de Qt lui-même. Elle ne doit pas être utilisée pour construire des variantes de Qt qui seront livrées aux clients.
Les bibliothèques d'une version développeur contiennent plus de symboles exportés qu'une version standard, et tout le code Qt se compile avec un niveau d'avertissement plus élevé. Elle modifie également le préfixe par défaut du répertoire de compilation, ce qui évite d'avoir à installer Qt Test avant de tester les choses, et enfin, elle active la compilation des auto-tests de Qt par défaut.
Reconfigurer les compilations existantes
Le système de construction de Qt dispose d'un support de base pour reconfigurer les constructions existantes de Qt avec un ensemble différent d'options de configuration, mais il n'est pas très robuste en raison de la façon dont CMake fonctionne en interne.
Le moyen le plus sûr de reconfigurer une compilation existante est de passer l'option -redo à configure. Cela supprimera le fichier CMakeCache.txt du build, assurant un état relativement sûr pour la reconfiguration. Les drapeaux initiaux de configure s'appliqueront toujours à la version reconfigurée.
Résumé de l'installation de Configure et options
Depuis Qt XML 6.9, les fichiers de résumé de configuration, ainsi que les options passées à configure, peuvent être automatiquement inclus dans l'installation.
Cette fonctionnalité est activée en définissant la variable CMake QT_INSTALL_CONFIG_INFO_FILES à ON:
~/qt-source/configure -prefix /opt/Qt6 -- -D QT_INSTALL_CONFIG_INFO_FILES=ON
Lors de l'installation, les fichiers texte du résumé de configuration et des options (pour chaque dépôt faisant partie de la construction) sont copiés dans le répertoire architecture-independent Qt data directory.
Par exemple,
/opt/Qt6/config_qtbase.opt /opt/Qt6/config_qtbase.summary /opt/Qt6/config_qtdeclarative.opt /opt/Qt6/config_qtdeclarative.summary ...
Options spécifiques aux plates-formes
Les pages suivantes fournissent des indications sur la manière de configurer Qt pour le développement de plates-formes spécifiques :
- Construire Qt pour QNX
- Construire Qt pour VxWorks
- Configurer un dispositif Linux embarqué
- Qt pour Android - Construction à partir des sources
- Qt pour Linux - Construction à partir des sources
- Qt pour Windows - Création à partir des sources
- Qt pour macOS - Création à partir des sources
- Qt pour INTEGRITY - Tutoriel du projet Monolith
- Qt pour iOS - Construire à partir des sources
- Qt pour WebAssembly - Construire à partir des sources
© 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.