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 de génération, des conditions et des événements. En outre, vous pouvez spécifier zéro ou plusieurs arguments d’options de ligne de commande.
msbuild.exe [ project_file ] [ 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 spécifié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 FavorSizeOrSpeed
paramètre de la CL
tâche correspond aux options du compilateur /Os et /Ot .
Les paramètres de tâche supplémentaires prennent en charge l’infrastructure MSBuild. Par exemple, le Sources
paramètre de tâche 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 d’accès et des chaînes, des paramètres numériques ou booléens. Par exemple, une entrée commune est le nom d’un fichier source .cpp à compiler. Un paramètre d’entrée important est une chaîne qui spécifie la configuration de build et la plateforme, par exemple « Déboguer |Win32 ». Les entrées et sorties sont spécifiées par un ou plusieurs éléments XML Item
définis par l’utilisateur contenus dans un ItemGroup
élément.
Un fichier projet peut également spécifier des propriétés etItemDefinitionGroup
des éléments 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 valeur déclare la valeur de la macro. Une macro de propriété est accessible à l’aide de la notation $(name) et une macro d’élément est accessible à l’aide de la notation %(name).
D’autres éléments XML d’un fichier projet peuvent tester des macros, puis définir conditionnellement la valeur de n’importe quelle macro ou contrôler l’exécution de la build. 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 d’accès 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 conditionnellement une cible avant ou après une autre cible. En outre, le système peut générer une cible en fonction du fait que les fichiers consommés par la cible sont plus récents que les fichiers qu’il émet.
Pour plus d’informations sur MSBuild, consultez :
Informations de référence MSBuild sur le système MSBuild.
La référence de schéma de fichier projet répertorie les éléments de schéma XML MSBuild, ainsi que leurs attributs et leurs éléments parents et enfants. Notez en particulier les éléments ItemGroup, PropertyGroup, Target et Task .
Référence de ligne de commande décrit les arguments et options de ligne de commande que vous pouvez utiliser avec msbuild.exe.
La référence des tâches décrit les tâches MSBuild. Notez particulièrement ces tâches, qui sont spécifiques à Visual C++ : BscMake Task, CL Task, CPPClean Task, LIB Task, Link Task, MIDL Task, MT Task, RC Task, SetEnv Task, VCMessage Task
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 étape de particule dans la build : avant le démarrage de la build ; avant le démarrage de l’étape du lien ; ou après la fin de la build. |
Guide pratique pour ajouter une étape de génération personnalisée à des projets MSBuild | Montre comment ajouter une étape définie par l’utilisateur à la séquence de build. |
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 particulier. |
Guide pratique pour intégrer les outils personnalisés dans les propriétés du projet | Montre comment ajouter des options pour 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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour