Général, page de propriétés (Projet)

Cet article s’applique aux projets Visual Studio pour Windows. Pour les projets Linux, consultez la référence de la page de propriétés Linux C++. Pour les projets CMake, consultez les projets CMake dans Visual Studio. Pour les projets Android, consultez Les propriétés générales du projet (Android C++). Pour les projets Android Makefile, consultez les propriétés générales du projet (Makefile Android C++). Dans Visual Studio 2019, certaines propriétés des projets non UWP (Windows Runtime ou plateforme Windows universelle) ont été déplacées vers la page de propriétés avancées.

Pour ouvrir la boîte de dialogue Pages de propriétés d’un projet, sélectionnez le projet (et non la solution) dans Explorateur de solutions. Ensuite, sélectionnez le menu Propriétés du nom du projet>dans la barre de menus. Vous pouvez également cliquer avec le bouton droit sur le nœud du projet dans Explorateur de solutions et sélectionner Propriétés dans le menu contextuel.

Dans la boîte de dialogue Pages de propriétés, la page de propriétés générales des>propriétés de configuration affiche les propriétés du projet en fonction du type de projet. Ces propriétés sont collectées sous un ou deux titres, selon le type de projet :

  • Général

  • Paramètres par défaut du projet

Général

L’en-tête de propriété Général inclut une combinaison de ces propriétés :

Plateforme cible

Spécifie la plateforme sur laquelle le projet s’exécute. Par exemple Windows, Android ou iOS. La valeur Windows 10 signifie que le projet cible la plateforme Windows universelle. Si vous ciblez d’autres versions de Windows, la version n’est pas répertoriée et la valeur de ce champ apparaît comme juste Windows. Cette propriété est un champ en lecture seule défini lorsque vous créez un projet.

Version de la plateforme cible

Spécifie la version du Kit de développement logiciel (SDK) Windows utilisée pour générer le projet. Cette propriété apparaît uniquement si le type de projet le prend en charge. Vous pouvez sélectionner la version 10.0 pour spécifier la dernière version du Kit de développement logiciel (SDK) Windows. Si votre application peut tirer parti des fonctionnalités de cette version du Kit de développement logiciel (SDK) Windows, mais peut toujours s’exécuter sur des versions antérieures sans ces fonctionnalités, peut-être avec une certaine perte de fonctionnalités, la valeur de cette propriété et la propriété Min de la plateforme cible peuvent être différentes. Dans ce cas, votre code doit vérifier la version de la plateforme sur laquelle elle s’exécute au moment de l’exécution et désactiver les fonctionnalités qui ne sont pas disponibles dans les versions antérieures de la plateforme.

Min de la plateforme cible. Version

Spécifie la version la plus basse de la plateforme sur laquelle le projet peut s'exécuter. Cette propriété apparaît uniquement si le type de projet le prend en charge. Définissez cette valeur si votre application peut tirer parti des fonctionnalités d’une version plus récente du Kit de développement logiciel (SDK) Windows, mais s’exécute toujours sur des versions antérieures, peut-être avec une certaine perte de fonctionnalités. Si la valeur est inférieure, votre code doit vérifier la version de la plateforme sur laquelle elle s’exécute au moment de l’exécution. Ensuite, désactivez les fonctionnalités qui ne sont pas disponibles dans les versions antérieures de la plateforme.

Le système de projet C++ n’applique pas cette option. Il est inclus pour la cohérence avec d’autres langages, tels que C# et JavaScript, et comme guide pour toute personne qui utilise votre projet. Microsoft C++ ne génère pas d’erreur si vous utilisez une fonctionnalité qui n’est pas disponible dans la version minimale.

Version du SDK Windows

Pour la plateforme cible Windows, cette propriété spécifie la version du Kit de développement logiciel (SDK) Windows dont votre projet a besoin. Lorsque Visual Studio Installer installe une charge de travail C++, il installe également les parties requises du Kit de développement logiciel (SDK) Windows. Si vous avez d’autres versions du Kit de développement logiciel (SDK) Windows sur votre ordinateur, chaque version installée apparaît dans la liste déroulante.

Pour cibler Windows 7 ou Windows Vista, utilisez la valeur 8.1 puisque le SDK Windows 8.1 offre une compatibilité descendante avec ces plateformes. Lorsque vous ciblez une version antérieure, définissez la valeur appropriée dans _WIN32_WINNT targetver.h. Pour Windows 7, il s'agit de 0x0601. Pour plus d’informations, consultez Modification WINVER et _WIN32_WINNT.

Vous pouvez installer l’ensemble d’outils de plateforme Windows XP inclus en tant que composant facultatif dans Visual Studio Installer pour générer des projets Windows XP et Windows 2003 Server. Pour plus d’informations sur l’obtention et l’utilisation de cet ensemble d’outils de plateforme, consultez Configuration des programmes pour Windows XP. Pour plus d’informations sur la modification de l’ensemble d’outils de plateforme, consultez Guide pratique pour modifier l’infrastructure cible et l’ensemble d’outils de plateforme.

Répertoire de sortie

Spécifie le répertoire dans lequel les outils de génération tels que l’éditeur de liens placent tous les fichiers de sortie finaux créés pendant le processus de génération. En règle générale, ce répertoire contient la sortie d’outils tels que l’éditeur de liens, le bibliothécaire ou BSCMake. Par défaut, cette propriété est le répertoire spécifié par la combinaison $(SolutionDir)$(Configuration)\de macros.

Pour accéder par programmation à cette propriété, consultez OutputDirectory.

Répertoire intermédiaire

Spécifie le répertoire dans lequel les outils tels que le compilateur placent tous les fichiers intermédiaires créés pendant le processus de génération. En règle générale, ce répertoire contient la sortie d’outils tels que le compilateur C/C++, MIDL et le compilateur de ressources. Par défaut, cette propriété est le répertoire spécifié par la macro $(Configuration)\.

Pour accéder par programmation à cette propriété, consultez IntermediateDirectory.

Nom de la cible

Spécifie le nom de fichier généré par ce projet. Par défaut, cette propriété est le nom de fichier spécifié par la macro $(ProjectName).

Extension de la cible

Spécifie l’extension de fichier générée par ce projet, par .exe exemple ou .dll. Pour certains types de projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancées.

Extensions à supprimer lors du nettoyage

La commande de menu Build>Clean supprime les fichiers du répertoire intermédiaire où la configuration d’un projet est générée. Le système de génération supprime les fichiers qui ont les extensions spécifiées lorsque vous exécutez la commande Clean ou lorsque vous régénérez. Le système de génération supprime également toute sortie connue de la build, quel que soit son emplacement. Les fichiers supprimés incluent toutes les sorties intermédiaires telles que .obj les fichiers. Utilisez des points-virgules (;) pour séparer les extensions. Vous pouvez spécifier des caractères génériques (*, ?) dans les extensions.

Pour accéder par programmation à cette propriété, consultez DeleteExtensionsOnClean. Pour certains types de projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancées.

Fichier journal de génération

Vous permet de spécifier un emplacement non par défaut pour le fichier journal créé chaque fois que vous générez un projet. L’emplacement par défaut est spécifié par la combinaison $(IntDir)$(MSBuildProjectName).logde macros. Pour certains types de projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancées.

Vous pouvez utiliser des macros de projet pour modifier l'emplacement du répertoire. Pour plus d’informations, consultez Macros courantes pour les commandes et propriétés de build.

Ensemble d'outils de plateforme

Spécifie l’ensemble d’outils utilisé pour générer la configuration actuelle. Cette propriété permet au projet de cibler une autre version des bibliothèques et du compilateur Visual C++. Par défaut, les projets Visual Studio C++ ciblent l’ensemble d’outils le plus récent installé par Visual Studio. Vous pouvez choisir l’un des ensembles d’outils installés par plusieurs versions précédentes de Visual Studio à la place. Certains ensembles d’outils plus anciens peuvent créer des exécutables qui s’exécutent sur Windows XP ou Vista. Pour plus d’informations sur la modification de l’ensemble d’outils de plateforme, consultez Guide pratique pour modifier l’infrastructure cible et l’ensemble d’outils de plateforme.

Activer la build incrémentielle managée

Pour les projets gérés, cette propriété permet de détecter la visibilité externe lorsque vous générez des assemblys. Si une modification d’un projet managé n’est pas visible pour d’autres projets, les projets dépendants ne sont pas reconstruits. Cette option peut améliorer considérablement les temps de génération dans les solutions qui incluent des projets gérés. Dans les projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancée.

Type de configuration

Spécifie la sortie du projet et ses outils requis. Dans les projets UWP, cette propriété apparaît sous le titre Project Defaults . Il existe plusieurs types de configuration à partir desquels choisir, en fonction du type de projet :

Application (.exe)

Affiche l’ensemble d’outils de l’éditeur de liens : Compilateur C/C++, MIDL, Compilateur de ressources, Linker, BSCMake, Générateur de proxy de service web XML, build personnalisée, prébuild, prélink et événements postbuild.

Bibliothèque dynamique (.dll)

Affiche l’ensemble d’outils éditeur de liens, spécifie l’option /DLL éditeur de liens et ajoute la définition de _WINDLL préprocesseur à la ligne de commande CL.

Makefile

Affiche l’ensemble d’outils makefile (NMake).

Bibliothèque statique (.lib)

Affiche l’ensemble d’outils de bibliothécaire. Il est identique à l’ensemble d’outils de l’éditeur de liens, sauf qu’il remplace l’éditeur de liens par le bibliothécaire et omet le générateur de proxy de service web XML.

Utilitaire

Affiche l’ensemble d’outils utilitaires (MIDL, build personnalisée, prébuild et événements postbuild).

Pour accéder par programmation à cette propriété, consultez ConfigurationType.

Norme du langage C++

Spécifie la norme de langage C++ à utiliser. Par défaut, il s’agit de /std:c++14. Spécifiez /std:c++17 d’utiliser les fonctionnalités C++17, /std:c++20 d’utiliser les fonctionnalités C++20 et /std:c++latest d’utiliser les fonctionnalités C++23 proposées ou d’autres fonctionnalités expérimentales. Pour plus d’informations, consultez /std (Spécifier la version standard du langage).

Norme du langage C

Spécifie la norme de langage C à utiliser. La valeur par défaut est MSVC héritée, qui implémente C89, certaines extensions spécifiques à Microsoft et C99. Spécifiez /std:c11 l’utilisation des fonctionnalités C11 et /std:c17 pour utiliser les fonctionnalités C17. Pour plus d’informations, consultez /std (Spécifier la version standard du langage)

Paramètres par défaut du projet

Type de configuration

Spécifie la sortie du projet et ses outils requis. Dans les projets UWP, cette propriété apparaît sous le titre Project Defaults . Il existe plusieurs types de configuration à partir desquels choisir, en fonction du type de projet :

Application (.exe)

Affiche l’ensemble d’outils de l’éditeur de liens : Compilateur C/C++, MIDL, Compilateur de ressources, Linker, BSCMake, Générateur de proxy de service web XML, build personnalisée, prébuild, prélink et événements postbuild.

Bibliothèque dynamique (.dll)

Affiche l’ensemble d’outils éditeur de liens, spécifie l’option /DLL éditeur de liens et ajoute la définition de _WINDLL préprocesseur à la ligne de commande CL.

Makefile

Affiche l’ensemble d’outils makefile (NMake).

Bibliothèque statique (.lib)

Affiche l’ensemble d’outils de bibliothécaire. Il est identique à l’ensemble d’outils de l’éditeur de liens, sauf qu’il remplace l’éditeur de liens par le bibliothécaire et omet le générateur de proxy de service web XML.

Utilitaire

Affiche l’ensemble d’outils utilitaires (MIDL, build personnalisée, prébuild et événements postbuild).

Pour accéder par programmation à cette propriété, consultez ConfigurationType.

Utilisation des MFC

Spécifie si le projet MFC est statiquement ou dynamiquement lié à la DLL MFC. Les projets non-MFC sélectionnent Utiliser des bibliothèques Windows standard. Dans les projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancée.

Pour accéder par programmation à cette propriété, consultez useOfMfc.

Jeu de caractères

Spécifie si la macro ou _MBCS le _UNICODE préprocesseur doit être définie. Affecte également le point d’entrée de l’éditeur de liens, le cas échéant. Dans les projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancée.

Pour accéder par programmation à cette propriété, consultez CharacterSet.

Prise en charge du Common Language Runtime

Provoque l’utilisation de l’option du /clr compilateur. Dans les projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancée.

Pour accéder par programmation à cette propriété, consultez ManagedExtensions.

Version du .NET Framework cible

Dans les projets managés, spécifie la version du .NET Framework à cibler. Dans les projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancée.

Optimisation de l’ensemble du programme

Spécifie l’option du compilateur et /LTCG l’option /GL éditeur de liens. Par défaut, cette propriété est désactivée pour les configurations de débogage et activée pour les configurations Release. Dans les projets Visual Studio 2019, cette propriété a été déplacée vers la page de propriétés Avancée.

Prise en charge d’applications du Windows Store

Spécifie si ce projet prend en charge les applications Windows Runtime (plateforme Windows universelle ou UWP). Pour plus d’informations, consultez /ZW (Compilation Windows Runtime) et la documentation UWP du développeur Windows.

Windows Desktop Compatible

Active la sortie de ce projet Windows Runtime pour prendre également en charge les applications de bureau. Cette propriété définit la <DesktopCompatible> valeur dans le fichier projet. La propriété Compatible Windows Desktop est disponible à partir de Visual Studio 2019 version 16.9.

Voir aussi

Informations de référence sur la page de propriétés du projet C++