Sur cette page

Remarques sur les plateformes

De nombreux projets multiplateformes peuvent être gérés à l’aide des fonctionnalités de configuration de base de qmake. Cependant, sur certaines plateformes, il est parfois utile, voire nécessaire, de tirer parti de fonctionnalités spécifiques à la plateforme. qmake prend en charge bon nombre de ces fonctionnalités, accessibles via des variables spécifiques qui ne s’appliquent que sur les plateformes où elles sont pertinentes.

macOS, iOS, tvOS et watchOS

Les fonctionnalités spécifiques à ces plateformes incluent la prise en charge de la création de binaires universels, de frameworks et de bundles.

Paquets source et binaires

La version de qmake fournie dans les paquets source est configurée de manière légèrement différente de celle fournie dans les paquets binaires, dans la mesure où elle utilise une spécification de fonctionnalités différente. Alors que le paquet source utilise généralement la spécification macx-g++, le paquet binaire est généralement configuré pour utiliser la spécification macx-xcode.

Les utilisateurs de chaque paquet peuvent passer outre cette configuration en lançant qmake avec l’option -spec (voir Exécution de qmake pour plus d’informations). Par exemple, pour utiliser qmake à partir d’un paquet binaire afin de créer un Makefile dans un répertoire de projet, exécutez la commande suivante :

qmake -spec macx-g++

Utilisation des frameworks

qmake est capable de générer automatiquement des règles de compilation pour la liaison avec les frameworks situés dans le répertoire standard des frameworks sous macOS, à l’emplacement /Library/Frameworks/.

Les répertoires autres que le répertoire standard des frameworks doivent être spécifiés au système de compilation. Pour ce faire, ajoutez des options de l’éditeur de liens à la variable LIBS, comme illustré dans l’exemple suivant :

LIBS += -F/path/to/framework/directory/

Le framework lui-même est lié en ajoutant les options -framework et le nom du framework à la variable LIBS:

LIBS += -framework TheFramework

Création de frameworks

Tout projet de bibliothèque peut être configuré de manière à ce que le fichier de bibliothèque résultant soit placé dans un framework, prêt à être déployé. Pour ce faire, configurez le projet pour qu’il utilise le modèlelib et ajoutez l’option lib_bundle à la variable CONFIG:

TEMPLATE = lib
CONFIG += lib_bundle

Les données associées à la bibliothèque sont spécifiées à l’aide de la variable QMAKE_BUNDLE_DATA. Celle-ci contient les éléments qui seront installés avec un ensemble de bibliothèques et est souvent utilisée pour spécifier un ensemble de fichiers d’en-tête, comme dans l’exemple suivant :

FRAMEWORK_HEADERS.version = Versions
FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h
FRAMEWORK_HEADERS.path = Headers
QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS

Vous utilisez la variable FRAMEWORK_HEADERS pour spécifier les en-têtes requis par un framework particulier. En l'ajoutant à la variable QMAKE_BUNDLE_DATA, vous vous assurez que les informations relatives à ces en-têtes sont intégrées à l'ensemble des ressources qui seront installées avec le bundle de bibliothèque. Par ailleurs, le nom et la version du framework sont spécifiés par les variables QMAKE_FRAMEWORK_BUNDLE_NAME et QMAKE_FRAMEWORK_VERSION. Par défaut, les valeurs utilisées pour ces variables sont extraites des variables TARGET et VERSION.

Consultez la section Qt pour macOS - Déploiement pour plus d'informations sur le déploiement d'applications et de bibliothèques.

Création et déplacement de projets Xcode

Sous macOS, les développeurs peuvent générer des fichiers de projet Xcode à partir d'un fichier de projet qmake existant. Par exemple :

qmake -spec macx-xcode project.pro

Remarque : si un projet est déplacé ultérieurement sur le disque, qmake doit être relancé pour traiter le fichier de projet et créer un nouveau fichier de projet Xcode.

Prise en charge simultanée de deux cibles de compilation

La mise en œuvre de cette fonctionnalité n’est actuellement pas possible, car le concept de « configurations de compilation actives » (Active Build Configurations) de Xcode diffère conceptuellement de l’idée de cibles de compilation de qmake.

Les paramètres « Configurations de compilation actives » de Xcode servent à modifier les configurations Xcode, les indicateurs de compilateur et autres options de compilation similaires. Contrairement à Visual Studio, Xcode ne permet pas de sélectionner des fichiers de bibliothèque spécifiques en fonction du choix entre une configuration de compilation « debug » ou « release ». Ce sont les paramètres « debug » et « release » de qmake qui déterminent quels fichiers de bibliothèque sont liés à l’exécutable.

Il n’est actuellement pas possible de définir des fichiers dans les paramètres de configuration Xcode à partir du fichier de projet Xcode généré par qmake. La manière dont les bibliothèques sont liées relève de la phase « Frameworks & Libraries » du système de compilation Xcode.

De plus, la configuration de compilation active sélectionnée est stockée dans un fichier .pbxuser, généré par Xcode lors du premier chargement et non créé par qmake.

Windows

Les fonctionnalités spécifiques à cette plateforme incluent la prise en charge des fichiers de ressources Windows (fournis ou générés automatiquement), la création de fichiers de projet Visual Studio et la gestion des fichiers de manifeste lors du déploiement d’applications Qt développées à l’aide de Visual Studio 2005 ou d’une version ultérieure.

Ajout de fichiers de ressources Windows

Cette section décrit comment gérer un fichier de ressources Windows avec qmake afin de le lier à un exécutable d’application (EXE) ou à une bibliothèque de liens dynamiques (DLL). qmake peut, en option, générer automatiquement un fichier de ressources Windows correctement renseigné.

Un fichier de ressources Windows lié peut contenir de nombreux éléments accessibles par son fichier EXE ou sa DLL. Cependant, le système de ressources Qt doit être utilisé pour accéder aux ressources liées de manière indépendante de la plate-forme. Certains éléments standard du fichier de ressources Windows lié sont toutefois accessibles par Windows lui-même. Par exemple, dans l’Explorateur Windows, l’onglet « Version » des propriétés du fichier est renseigné à partir d’éléments de ressources. De plus, l’icône du programme EXE est extraite de ces éléments. Il est donc recommandé, pour un fichier EXE ou DLL Windows créé avec Qt, d’utiliser les deux techniques simultanément : lier des ressources indépendantes de la plate-forme via le système de ressources Qt et ajouter des ressources spécifiques à Windows via un fichier de ressources Windows.

En règle générale, un script de définition de ressources (fichier .rc) est compilé en un fichier de ressources Windows. Au sein de la chaîne d’outils Microsoft, l’outil RC génère un fichier .res, qui peut être lié à un fichier EXE ou DLL à l’aide de l’éditeur de liens Microsoft. La chaîne d’outils MinGW utilise l’outil windres pour générer un fichier .o pouvant être lié à un fichier EXE ou DLL à l’aide de l’éditeur de liens MinGW.

La génération automatique facultative d’un fichier .rc correctement renseigné par qmake est déclenchée en définissant au moins l’une des variables système VERSION et RC_ICONS. Le fichier .rc généré est automatiquement compilé et lié. Les éléments ajoutés au fichier .rc sont définis par les variables système QMAKE_TARGET_COMPANY, QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT, QMAKE_TARGET_ORIGINAL_FILENAME, QMAKE_TARGET_INTERNALNAME, QMAKE_TARGET_COMMENTS, QMAKE_TARGET_TRADEMARKS, QMAKE_MANIFEST, RC_CODEPAGE, RC_ICONS, RC_LANG et VERSION.

Si ces éléments ne suffisent pas, qmake dispose de deux variables système, RC_FILE et RES_FILE, qui pointent directement vers un fichier .rc ou .res créé en externe. En définissant l'une de ces variables, le fichier spécifié est lié à l'EXE ou à la DLL.

Remarque : la génération du fichier .rc par qmake est bloquée si RC_FILE ou RES_FILE est définie. Dans ce cas, qmake n’apporte aucune autre modification au fichier .rc, .res ou .o donné ; les variables relatives à la génération du fichier .rc n’ont aucun effet.

Création de fichiers de projet Visual Studio

Cette section décrit comment importer un projet qmake existant dans Visual Studio. qmake est capable de prendre un fichier de projet et de créer un projet Visual Studio contenant toutes les informations nécessaires requises par l’environnement de développement. Pour ce faire, il suffit de définir le modèle de projet qmake sur vcapp (pour les projets d’application) ou vclib (pour les projets de bibliothèque).

Ce paramètre peut également être défini à l’aide d’une option de ligne de commande, par exemple :

qmake -tp vc

Il est possible de générer de manière récursive des fichiers ` .vcproj ` dans les sous-répertoires et un fichier ` .sln ` dans le répertoire principal, en tapant :

qmake -tp vc -r

Chaque fois que vous mettez à jour le fichier de projet, vous devez exécuter qmake pour générer un projet Visual Studio mis à jour.

Remarque : si vous utilisez le complément Visual Studio, sélectionnez Qt > Importer à partir d’un fichier .pro pour importer les fichiers .pro.

Fichiers de manifeste Visual Studio

Lors du déploiement d’applications Qt compilées à l’aide de Visual Studio 2005 ou d’une version ultérieure, assurez-vous que le fichier manifeste créé lors de la liaison de l’application est géré correctement. Cette gestion s’effectue automatiquement pour les projets générant des DLL.

La suppression de l’intégration du manifeste pour les exécutables d’application peut être effectuée à l’aide de l’affectation suivante à la variable CONFIG:

CONFIG -= embed_manifest_exe

De même, l’intégration du manifeste dans les DLL peut être supprimée en attribuant la valeur suivante à la variable CONFIG:

CONFIG -= embed_manifest_dll

Ce point est abordé plus en détail dans le guide de déploiement pour Windows.

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