MSBuild sur la ligne de commande – C++
En général, nous vous recommandons d’utiliser Visual Studio pour définir les propriétés du projet et appeler le système MSBuild. Toutefois, vous pouvez utiliser l’outil MSBuild directement à partir de l’invite de commandes. Le processus de génération est contrôlé par les informations d’un fichier projet (.vcxproj) que vous pouvez créer et modifier. Le fichier projet spécifie les options de génération en fonction des phases, des conditions et des événements de génération. De plus, vous pouvez spécifier des arguments options de ligne de commande ou en spécifier aucun.
msbuild.exe [ fichier_projet ] [ options ]
Utilisez les options de ligne de commande /target (ou /t) et /property (ou /p) pour remplacer des propriétés et des cibles spécifiques qui sont indiquées dans le fichier projet.
Une fonction essentielle du fichier projet consiste à spécifier une cible, qui est une opération particulière appliquée à votre projet, ainsi que les entrées et sorties requises pour effectuer cette opération. Un fichier projet peut spécifier une ou plusieurs cibles, qui peuvent inclure une cible par défaut.
Chaque cible se compose d’une séquence d’une ou plusieurs tâches. Chaque tâche est représentée par une classe .NET Framework qui contient une commande exécutable. Par exemple, la tâche CL contient la commande cl.exe.
Un paramètre de tâche est une propriété de la tâche de classe et représente généralement une option de ligne de commande de la commande exécutable. Par exemple, le paramètre FavorSizeOrSpeed
de la tâche CL
correspond aux options du compilateur /Os et /Ot.
Des paramètres de tâche supplémentaires prennent en charge l’infrastructure MSBuild. Par exemple, le paramètre de tâche Sources
spécifie un ensemble de tâches qui peuvent être consommées par d’autres tâches. Pour plus d’informations sur les tâches MSBuild, consultez Informations de référence sur les tâches.
La plupart des tâches nécessitent des entrées et des sorties, telles que des noms de fichiers, des chemins et des paramètres de chaîne, numériques ou booléens. Par exemple, le nom d’un fichier source .cpp à compiler est une entrée courante. Un paramètre d’entrée important est une chaîne qui spécifie la configuration et la plateforme de génération, par exemple « Debug|Win32 ». Les entrées et sorties sont spécifiées par un ou plusieurs éléments XML Item
définis par l’utilisateur qui sont contenus dans un élément ItemGroup
.
Un fichier projet peut également spécifier des propriétés et des éléments ItemDefinitionGroup
définis par l’utilisateur. Propriétés et paires nom/valeur de formulaire d’éléments qui peuvent être utilisées comme variables dans la build. Le composant name d’une paire définit une macro, et le composant value déclare la valeur de la macro. Une macro de propriété est accessible en utilisant la notation $(name) et une macro d’élément est accessible en utilisant la notation %(name).
D’autres éléments XML d’un fichier projet peuvent tester les macros, puis définir de façon conditionnelle la valeur de n’importe quelle macro ou contrôler l’exécution de la génération. Les noms de macro et les chaînes littérales peuvent être concaténés pour générer des constructions telles qu’un chemin et un nom de fichier. Sur la ligne de commande, l’option /property définit ou remplace une propriété de projet. Les éléments ne peuvent pas être référencés sur la ligne de commande.
Le système MSBuild peut exécuter de façon conditionnelle une cible avant ou après une autre cible. De plus, le système peut générer une cible selon si les fichiers consommés par la cible sont plus récents que les fichiers qu’il émet ou non.
Pour plus d’informations sur MSBuild, consultez :
MSBuild : Vue d’ensemble des concepts MSBuild.
Informations de référence sur MSBuild : Informations de référence sur le système MSBuild.
Informations de référence sur le schéma de fichier projet : Liste les éléments du schéma XML MSBuild, ainsi que leurs attributs et leurs éléments parents et enfants. À noter en particulier les éléments ItemGroup, PropertyGroup, Target et Task.
Informations de référence sur la ligne de commande : Décrit les arguments et options de ligne de commande que vous pouvez utiliser avec msbuild.exe.
Informations de référence sur les tâches : Décrit les tâches MSBuild. À noter en particulier ces tâches, qui sont spécifiques à Visual C++ : Tâche BscMake, Tâche CL, Tâche CPPClean, Tâche LIB, Tâche Link, Tâche MIDL, Tâche MT, Tâche RC, Tâche SetEnv, Tâche VCMessage
Dans cette section
Terme | Définition |
---|---|
Procédure pas à pas : Utilisation de MSBuild pour créer un projet C++ | Montre comment créer un projet Visual Studio C++ à l’aide de MSBuild. |
Guide pratique pour utiliser des événements de build dans des projets MSBuild | Montre comment spécifier une action qui se produit à une phase particulière de la génération : avant le démarrage de la génération, avant le démarrage de la phase de liaison ou après la fin de la génération. |
Guide pratique pour ajouter une étape de génération personnalisée à des projets MSBuild | Montre comment ajouter une phase définie par l’utilisateur à la séquence de génération. |
Guide pratique pour ajouter des outils de génération personnalisés à des projets MSBuild | Montre comment associer un outil de génération à un fichier en particulier. |
Guide pratique pour intégrer les outils personnalisés dans les propriétés du projet | Montre comment ajouter les options d’un outil personnalisé aux propriétés du projet. |
Comment : modifier la version cible de .Net Framework et l’ensemble d’outils de la plateforme | Montre comment compiler un projet pour plusieurs frameworks ou ensembles d’outils. |
Voir aussi
Utiliser le jeu d’outils MSVC à partir de la ligne de commande