Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans l’IDE Visual Studio, vous pouvez afficher et modifier les propriétés nécessaires pour compiler et générer un projet. Ces informations incluent le nom de l’application, l’extension (par exemple, DLL, LIB, EXE), les options du compilateur, les options de l’éditeur de liens, les paramètres du débogueur et les étapes de génération personnalisées.
Vous pouvez afficher et modifier ces propriétés à l’aide de pages de propriétés. Pour accéder aux pages de propriétés, choisissez Projet> Propriétés de nom-projet dans le menu principal, ou cliquez avec le bouton droit sur le nœud du projet dans l’Explorateur de solutions, puis choisissez Propriétés.
Propriétés par défaut
Quand vous créez un projet, le système attribue des valeurs à différentes propriétés. Les valeurs par défaut varient légèrement en fonction du type de projet et des options que vous choisissez dans l’Assistant Application. Par exemple, un projet ATL (Active Template Library) a des propriétés liées aux fichiers MIDL (Microsoft Interface Definition Language), mais ces propriétés sont absentes dans une application console de base. Les propriétés par défaut sont affichées dans le volet Avancé dans la fenêtre Pages de propriétés :
Appliquer des propriétés aux configurations de build et aux plateformes cibles
Certaines propriétés, par exemple le nom d’application, s’appliquent à toutes les variantes de build et toutes les plateformes cibles, qu’il s’agisse d’une build de débogage ou de mise en production. Toutefois, la plupart des propriétés dépendent de la configuration. Pour générer le code approprié, le compilateur doit connaître à la fois la plateforme spécifique sur laquelle le programme s’exécute et les options de compilateur spécifiques à utiliser. Ainsi, quand vous définissez une propriété, il est important de faire attention à la configuration et à la plateforme auxquelles la nouvelle valeur doit s’appliquer. Doit-elle s’appliquer uniquement aux builds Debug Win32, ou doit-elle également s’appliquer aux builds Debug ARM64 et Debug x64 ? Par exemple, la propriété Optimisation est définie par défaut sur Augmenter la vitesse (/O2) dans une configuration Release, mais est désactivée dans la configuration Debug.
Vous pouvez toujours voir et changer la configuration et la plateforme auxquelles une valeur de propriété doit s’appliquer. L'illustration suivante montre les pages de propriété avec les contrôles de configuration et d'informations sur la plate-forme en haut. Lorsque la propriété Optimisation est définie ici, elle s’applique uniquement aux builds Debug x64, la configuration actuellement active, comme indiqué par les flèches rouges.
La page est ouverte sur C/C++, Optimisation. Le paramètre Optimisation est défini sur Désactivé (/Od), ce qui est signalé. Une flèche indique la relation entre le paramètre Configuration de la page de propriétés du projet, qui est défini sur Active(Debug), et le paramètre du menu déroulant Configuration de la solution dans la barre d'outils, qui est défini sur Debug. Une autre flèche appelle la relation entre le paramètre plateforme dans la page de propriétés du projet, qui est définie sur Active(x64) et le paramètre dans la liste déroulante de la plateforme Solutions dans la barre d’outils, qui est définie sur x64.
L’illustration suivante montre la même page de propriétés de projet, mais la configuration a été remplacée par Release. Notez le changement de valeur de la propriété Optimisation. Notez également que la configuration active est toujours Debug. Vous pouvez définir ici les propriétés de n’importe quelle configuration, et pas seulement celles de la configuration active.
Plateformes cibles
La plateforme cible fait référence au type d’appareil et au système d’exploitation sur lequel s’exécute l’exécutable. Vous pouvez générer un projet pour plusieurs plateformes. Les plateformes cibles disponibles pour les projets C++ dépendent du genre de projet. Il s’agit, sans s’y limiter, des plateformes Win32, x64, ARM, ARM64, Android et iOS. La plateforme cible x86 que vous pouvez voir dans le Gestionnaire de configuration est identique à Win32 dans les projets C++ natifs. Win32 désigne Windows 32 bits et x64 désigne Windows 64 bits. Pour plus d’informations sur ces deux plateformes, consultez Exécution d’applications 32 bits.
La valeur de plateforme cible N’importe quel processeur que vous pouvez voir dans le Gestionnaire de configuration n’a aucun effet sur les projets C++ natifs. Elle concerne uniquement les types de projets C++/CLI, et les autres types de projets .NET. Pour plus d’informations, consultez /CLRIMAGETYPE (Spécifier le type d’une image CLR).
Pour plus d’informations sur la définition des propriétés d’une build Debug, consultez :
- Paramètres du projet pour une configuration de débogage C++
- Paramètres et préparation du débogueur
- Préparation du débogage : Types de projets Microsoft C++
- Spécifiez les fichiers de symboles (.pdb) et les fichiers source dans le débogueur Visual Studio
Options du compilateur et de l’éditeur de liens C++
Les options du compilateur et de l’éditeur de liens C++ se trouvent sous les nœuds C/C++ et Éditeur de liens dans le volet gauche sous Propriétés de configuration. Ces options sont traduites directement en options de ligne de commande, qui sont passées au compilateur. Pour lire la documentation relative à une option spécifique, sélectionnez l’option correspondante dans le volet central, puis appuyez sur F1. Vous pouvez également parcourir la documentation de toutes les options dans Options du compilateur MSVC et Options de l’éditeur de liens MSVC.
La boîte de dialogue Pages de propriétés montre uniquement les pages de propriétés pertinentes pour le projet actuel. Par exemple, si le projet n’a pas de fichier .idl, la page de propriétés MIDL ne s’affiche pas. Pour plus d’informations sur les paramètres de chaque page de propriétés, consultez Pages de propriétés (C++).
Valeurs de répertoire et de chemin d’accès
MSBuild prend en charge l’utilisation de constantes au moment de la compilation pour certaines valeurs de chaîne, par exemple les répertoires et les chemins d’accès include, appelés macros. Une macro peut faire référence à une valeur définie par Visual Studio, au système MSBuild, ou à une valeur définie par l’utilisateur. Les macros ressemblent à $(macro-name) ou %(item-macro-name). Elles sont exposées dans les pages de propriétés, où vous pouvez faire référence à celles-ci, et les modifier à l’aide de l’Éditeur de propriétés. Utilisez des macros à la place de valeurs codées en dur, par exemple les chemin d’accès de répertoires. Les macros facilitent le partage des paramètres de propriétés entre les machines et entre les versions de Visual Studio. Vous pouvez également mieux vous assurer que les paramètres de votre projet participent correctement à l’héritage des propriétés.
L’illustration suivante montre les pages de propriétés d’un projet Visual Studio C++. Dans le volet gauche, la règleRépertoires VC++ est sélectionnée et le volet droit liste les propriétés associées à cette règle. Les valeurs de propriété sont souvent des macros, par exemple $(VC_SourcePath) :
La page Répertoires VC plus plus est ouverte, et comporte des propriétés pour les règles de répertoires VC++. Répertoires sources est un exemple de règle ayant la valeur $(VC_SourcePath). Il existe des règles pour les répertoires include, les répertoires de bibliothèques, les répertoires d'exécutables, etc.
Vous pouvez utiliser l’Éditeur de propriétés pour voir les valeurs de toutes les macros disponibles.
Macros prédéfinies
Macros globales
Les macros globales s’appliquent à tous les éléments d’une configuration de projet. Une macro globale a la syntaxe$(name). Un exemple de macro globale est$(VCInstallDir), qui stocke le répertoire racine de votre installation de Visual Studio. Une macro globale correspond àPropertyGroupdans MSBuild.Macros d’élément
Les macros d'éléments ont la syntaxe%(name). Pour un fichier, une macro d’élément s’applique uniquement à ce fichier. Par exemple, vous pouvez utiliser%(AdditionalIncludeDirectories)pour spécifier des répertoires include qui s’appliquent uniquement à un fichier particulier. Ce genre de macro d'élément correspond à des métadonnéesItemGroupdans MSBuild. Quand elle est utilisée dans le contexte d’une configuration de projet, une macro d’élément s’applique à tous les fichiers d’un certain type. Par exemple, la propriété de configuration C/C++ Définitions de préprocesseur peut prendre une macro d’élément%(PreprocessorDefinitions)qui s’applique à tous les fichiers .cpp dans le projet. Ce genre de macro d'élément correspond à des métadonnéesItemDefinitionGroupdans MSBuild. Pour plus d’informations, consultez définitions d’élément.
Macros définies par l’utilisateur
Vous pouvez créer des macros définies par l’utilisateur à utiliser comme variables dans les générations de projet. Par exemple, vous pouvez créer une macro définie par l'utilisateur qui fournit une valeur pour une étape de génération personnalisée ou un outil de génération personnalisée. Une macro définie par l’utilisateur est une paire nom-valeur. Dans un fichier projet, utilisez la notation $(name) pour accéder à la valeur.
Une macro définie par l’utilisateur est stockée dans une feuille de propriétés. Si votre projet ne contient pas encore de feuille de propriétés, vous pouvez en créer une en suivant les étapes décrites sous Partager ou réutiliser les paramètres de projet Visual Studio.
Pour créer une macro définie par l’utilisateur
Ouvrez la fenêtre du Gestionnaire de propriétés. Dans la barre de menus, sélectionnez Afficher>d’autres> Windows. Ouvrez le menu contextuel d’une feuille de propriétés (son nom se termine par
.user) puis choisissez Propriétés. La boîte de dialogue Pages de propriétés pour cette feuille de propriétés s’ouvre.Dans le volet gauche de la boîte de dialogue, sélectionnez Macros utilisateur. Dans le volet droit, choisissez le bouton Ajouter une macro pour ouvrir la boîte de dialogue Ajouter une macro utilisateur.
Dans la boîte de dialogue, spécifiez un nom et une valeur pour la macro. Vous pouvez aussi cocher la case Définir cette macro comme variable d’environnement dans l’environnement de génération.
Éditeur de propriétés
Vous pouvez utiliser l'Éditeur de propriétés pour modifier certaines propriétés de type chaîne et sélectionner des macros comme valeurs. Pour accéder à l'Éditeur de propriétés, sélectionnez une propriété dans une page de propriétés, puis cliquez sur la flèche vers le bas située à droite. Si la liste déroulante contient <Modifier>, vous pouvez choisir cette option afin d’afficher l’Éditeur de propriétés pour cette propriété.
L’Éditeur de propriétés pour le paramètre Répertoires Include est ouvert. Il affiche la valeur évaluée pour les répertoires Include, à savoir C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\Include. Il affiche les deux valeurs héritées : $(VC_IncludePath) et $(WindowsSDK_IncludePath). Une case « Hériter des paramètres par défaut du parent ou du projet » est cochée.
Dans l’Éditeur de propriétés, vous pouvez choisir le bouton Macros pour voir les macros disponibles et leurs valeurs actuelles. L’illustration suivante montre l’Éditeur de propriétés pour la propriété Autres répertoires Include après la sélection du bouton Macros. Quand la case Hériter des paramètres par défaut du parent ou du projet est cochée, et que vous ajoutez une nouvelle valeur, celle-ci est ajoutée à toutes les valeurs héritées. Si vous désactivez la case à cocher, votre nouvelle valeur remplace les valeurs héritées. Dans la plupart des cas, laissez la case à cocher activée.
L'éditeur de propriétés pour les répertoires d'inclusion est ouvert. La valeur évaluée s’affiche avec les valeurs héritées. Une zone de liste contient diverses macros et leurs valeurs, par exemple $(CharacterSet), qui a la valeur Unicode.
Ajouter un répertoire include à l’ensemble des répertoires par défaut
Quand vous ajoutez un répertoire include à un projet, il est important de ne pas remplacer tous les répertoires par défaut. La bonne façon d’ajouter un répertoire consiste à ajouter le nouveau chemin d’accès, par exemple C:\MyNewIncludeDir\, puis à ajouter la $(IncludePath) macro à la valeur de propriété.
Parcourir et rechercher rapidement toutes les propriétés
La page de propriétés Toutes les options (sous le nœud Propriétés de configuration>C/C++ dans la boîte de dialogue Pages de propriétés) fournit un moyen rapide de parcourir et de rechercher les propriétés disponibles dans le contexte actuel. Elle comporte une zone de recherche spéciale et possède une syntaxe simple pour aider à filtrer les résultats :
Pas de préfixe : Recherche dans les noms de propriété uniquement (sous-chaîne insensible à la casse).
'
/' ou '-' : Recherche uniquement dans les commutateurs du compilateur (préfixe insensible à la casse).v: recherche uniquement dans les valeurs (sous-chaîne insensible à la casse).
Définir les variables d’environnement d’une build
Le compilateur MSVC (cl.exe) reconnaît certaines variables d’environnement, en particulier LIB, LIBPATH, PATH et INCLUDE. Quand vous effectuez une génération avec l’IDE, les propriétés définies dans la Page de propriétés des répertoires VC++ sont utilisées pour définir ces variables d’environnement. Si les valeurs LIB, LIBPATH et INCLUDE ont déjà été définies, par exemple par une invite de commandes développeur, elles sont remplacées par les valeurs des propriétés MSBuild correspondantes. La compilation ajoute ensuite la valeur PATH à la propriété VC++ Directories executable directories. Vous pouvez spécifier une variable d’environnement définie par l’utilisateur en créant une macro définie par l’utilisateur, puis en cochant la case Définir cette macro en tant que variable d’environnement dans l’environnement de génération.
Définir les variables d’environnement d’une session de débogage
Dans le volet gauche de la boîte de dialogue Pages de propriétés du projet, étendez Propriétés de configuration et sélectionnez Débogage.
Dans le volet droit, modifiez les paramètres de projet Environnement ou Fusion de l’environnement, puis choisissez le bouton OK.
Articles de cette section
- Partager ou réutiliser les paramètres de projet Visual Studio
- Héritage de propriété dans les projets Visual Studio
- Modifier les propriétés et cibles du projet C++ sans modifier le fichier projet