Procédure pas à pas : compilation d’un programme C++ natif sur la ligne de commande

Visual Studio inclut un compilateur C et C++ en ligne de commande. Vous pouvez l’utiliser pour créer tout, des applications console de base aux applications plateforme Windows universelle, applications de bureau, pilotes de périphérique et composants .NET.

Dans cette procédure pas à pas, vous créez un programme C++ de type « Hello, World » de base à l’aide d’un éditeur de texte, puis compilez-le sur la ligne de commande. Si vous souhaitez essayer l’IDE Visual Studio au lieu d’utiliser la ligne de commande, consultez Procédure pas à pas : Utilisation de projets et de solutions (C++) ou utilisation de l’IDE Visual Studio pour le développement C++ Desktop.

Dans cette procédure pas à pas, vous pouvez utiliser votre propre programme C++ au lieu de taper celui utilisé ici. Vous pouvez également utiliser un exemple de code C++ à partir d’un autre article.

Prérequis

Pour effectuer cette procédure pas à pas, vous devez disposer soit de Visual Studio avec la charge de travail facultative Développement Desktop en C++, soit de Build Tools pour Visual Studio en ligne de commande.

Visual Studio est un environnement de développement intégré (IDE). Il prend en charge un éditeur complet, des gestionnaires de ressources, des débogueurs et des compilateurs pour de nombreux langages et plateformes. Les versions disponibles incluent l’édition Gratuite de Visual Studio Community, et toutes peuvent prendre en charge le développement C et C++. Pour plus d’informations sur le téléchargement et l’installation de Visual Studio, consultez La prise en charge de C++ dans Visual Studio.

Build Tools pour Visual Studio installe uniquement les compilateurs, outils et bibliothèques en ligne de commande dont vous avez besoin pour générer des programmes C et C++. Il est parfait pour créer des laboratoires ou des exercices de classe et installer relativement rapidement. Pour installer uniquement les outils en ligne de commande, recherchez Build Tools pour Visual Studio dans Visual Studio Téléchargements.

Avant de pouvoir créer un programme C ou C++ sur la ligne de commande, vérifiez que les outils sont installés et que vous pouvez y accéder à partir de la ligne de commande. Microsoft C++ (MSVC) a des exigences complexes pour l’environnement de ligne de commande pour rechercher les outils, les en-têtes et les bibliothèques qu’il utilise.

Vous ne pouvez pas utiliser Microsoft C++ dans une fenêtre d'invite de commandes simple sans effectuer de préparation. Microsoft C++ crée des raccourcis qui vous permettent de lancer une invite de commandes de développeur avec un environnement configuré pour les compilations en ligne de commande. Malheureusement, les noms des raccourcis d’invite de commandes du développeur et de leur emplacement sont différents dans presque toutes les versions de Visual Studio et sur différentes versions de Windows. Votre première tâche pas à pas est de trouver celui qui convient.

Remarque

Un raccourci vers l’invite de commande pour développeur établit automatiquement les chemins d’accès corrects pour le compilateur, les outils, et les en-têtes et bibliothèques nécessaires. Vous devez vous-même définir ces valeurs d’environnement si vous utilisez une fenêtre Command Prompt standard. Pour plus d’informations, consultez l’ensemble d’outils MSVC à partir de la ligne de commande. Nous vous recommandons d’utiliser un raccourci d’invite de commandes développeur plutôt que de créer votre propre raccourci.

Ouvrir une invite de commandes de développeur

  1. Si vous avez Visual Studio 2017 ou version ultérieure sur Windows 10 ou version ultérieure, ouvrez le menu Démarrage et choisissez All apps. Faites défiler vers le bas et ouvrez le dossier Visual Studio (et non l’application Visual Studio). Choisissez Invite de commandes développeur pour VS pour ouvrir la fenêtre d’invite de commandes.

    Si vous avez Microsoft Visual Studio Build Tools 2015 sur Windows 10 ou version ultérieure, ouvrez le menu Start et choisissez All apps. Faites défiler vers le bas et ouvrez le dossier Visual Studio Build Tools . Choisissez x86 Native Tools Command Prompt pour ouvrir la fenêtre de commande.

    Vous pouvez également utiliser la fonction de recherche Windows pour rechercher l’invite de commandes développeur et choisir celle qui correspond à votre version installée de Visual Studio. Utilisez le raccourci pour ouvrir la fenêtre d’invite de commandes.

  2. Vérifiez que l’invite de commandes du développeur C++ est configurée correctement. Dans la fenêtre d’invite de commandes, entrez cl et vérifiez que la sortie ressemble à ce qui suit :

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    usage: cl [ option... ] filename... [ /link linkoption... ]
    

Il peut y avoir des différences dans le répertoire actif ou les numéros de version. Ces valeurs dépendent de la version de MSVC et des mises à jour installées. Si la sortie est similaire à ce que vous voyez, vous êtes prêt à générer des programmes C ou C++ sur la ligne de commande.

Remarque

Si vous obtenez une erreur telle que « Cl » n’est pas reconnue comme une commande interne ou externe, un programme opérable ou un fichier batch », erreur C1034 ou une erreur LNK1104 lorsque vous exécutez la cl commande, vous n’utilisez pas d’invite de commandes développeur, ou une erreur est incorrecte avec votre installation de MSVC. Vous devez résoudre ce problème avant de pouvoir continuer.

Si vous ne trouvez pas le raccourci d’invite de commandes du développeur ou si vous recevez un message d’erreur lorsque vous entrez cl, votre installation MSVC peut avoir un problème. Essayez de réinstaller le composant MSVC dans Visual Studio ou Visual Studio Build Tools. Ne passez pas à la section suivante tant que la cl commande ne fonctionne pas. Pour plus d’informations sur l’installation et la résolution des problèmes de MSVC, consultez Installer Visual Studio.

Remarque

Selon la version de Windows sur l’ordinateur et la configuration de sécurité système, vous devrez peut-être cliquer avec le bouton droit pour ouvrir le menu contextuel de l’invite de commandes développeur, puis choisir Exécuter en tant qu’administrateur pour générer et exécuter le programme que vous créez en suivant cette procédure pas à pas.

Créer un fichier source C++ et le compiler sur la ligne de commande

  1. Dans la fenêtre d’invite de commandes du développeur, entrez md C:\hello pour créer un répertoire, puis entrez cd C:\hello pour passer à ce répertoire. Ce répertoire est l’emplacement où votre fichier source et le programme compilé sont créés.

  2. Entrez notepad hello.cpp dans la fenêtre d’invite de commandes.

    Choisissez Oui lorsque le Bloc-notes vous invite à créer un fichier. Cette étape ouvre une fenêtre du Bloc-notes vide, prête à entrer votre code dans un fichier nommé hello.cpp.

  3. Dans le Bloc-notes, entrez le code suivant :

    #include <iostream>
    using namespace std;
    int main()
    {
        cout << "Hello, world, from Microsoft C++!" << endl;
    }
    

    Ce code est un programme simple qui écrit une ligne de texte sur l’écran, puis se ferme. Pour minimiser les risques d’erreurs, copiez le code et collez-le dans le Bloc-notes.

  4. Sauvegardez votre travail. Dans le Bloc-notes, dans le menu Fichier , choisissez Enregistrer.

    Félicitations! Vous avez créé un fichier source C++, hello.cppqui est prêt à être compilé.

  5. Revenez à la fenêtre de l'invite de commande du développeur. Entrez dir dans l’invite de commandes pour lister le contenu du répertoire C:\hello. Vous devez voir le fichier hello.cpp source dans la liste des répertoires, qui ressemble à ceci :

    C:\hello>dir
     Volume in drive C is Local Disk
     Volume Serial Number is AA11-BB22
    
     Directory of C:\hello
    
    04/28/2026  01:26 PM    <DIR>          .
    04/28/2026  01:26 PM    <DIR>          ..
    04/28/2026  01:27 PM               117 hello.cpp
                   1 File(s)            117 bytes
    

    Les dates et autres détails diffèrent sur votre ordinateur.

    Remarque

    Si vous ne voyez pas votre fichier de code source, hello.cppvérifiez que le répertoire de travail actuel dans votre invite de commandes est le C:\hello répertoire que vous avez créé. Vérifiez également que cet emplacement est le répertoire où vous avez enregistré votre fichier source.

    Vérifiez que vous avez enregistré le code source avec une .cpp extension de nom de fichier, et non une .txt extension. Votre fichier source est enregistré dans le répertoire actif en tant que fichier .cpp automatiquement si vous ouvrez Notepad à l'Invite de commandes en utilisant la commande notepad hello.cpp.

    Le comportement du Bloc-notes est différent si vous l’ouvrez d’une autre façon : par défaut, le Bloc-notes ajoute une .txt extension aux nouveaux fichiers lorsque vous les enregistrez. Il enregistre également par défaut des fichiers dans votre Documents répertoire. Pour enregistrer votre fichier avec une .cpp extension dans Bloc-notes, choisissez Fichier>Enregistrer sous. Dans la boîte de dialogue Enregistrer sous, accédez à votre dossier C:\hello dans l’arborescence des répertoires. Utilisez ensuite le contrôle de liste déroulante Enregistrer en tant que type pour sélectionner Tous les fichiers (*.*). Entrez hello.cpp dans le champ Nom de fichier, puis choisissez Enregistrer pour enregistrer le fichier.

  6. À l’invite de commandes du développeur, entrez cl /EHsc hello.cpp pour compiler votre programme.

    Le compilateur cl.exe génère un fichier .obj qui contient le code compilé, puis exécute l’éditeur de liens pour créer un programme exécutable nommé hello.exe. Ce nom apparaît dans les lignes des informations de sortie affichées par le compilateur. La sortie du compilateur doit ressembler à ceci :

    C:\hello>cl /EHsc hello.cpp
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    hello.cpp
    Microsoft (R) Incremental Linker Version 14.10.25017.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    /out:hello.exe
    hello.obj
    

    Remarque

    Si vous obtenez une erreur telle que « Cl » n’est pas reconnue comme une commande interne ou externe, un programme opérable ou un fichier batch », erreur C1034 ou erreur LNK1104, l’invite de commandes du développeur n’est pas configurée correctement. Pour plus d’informations pour résoudre ce problème, revenez à la section Ouvrir une invite de commandes développeur.

    Si vous obtenez une autre erreur ou avertissement de compilateur ou d’éditeur de liens, passez en revue votre code source pour corriger les erreurs, puis enregistrez-le et réexécutez le compilateur. Pour plus d’informations sur des erreurs spécifiques, utilisez la zone de recherche pour rechercher le numéro d’erreur.

  7. Pour exécuter le programme hello.exe, à l’invite de commandes, entrez hello.

    Le programme affiche ce texte puis se ferme :

    Hello, world, from Microsoft C++!
    

    Félicitations! Vous avez compilé et exécuté un programme C++ à l’aide des outils en ligne de commande.

Étapes suivantes

Cet exemple « Hello, World » est aussi simple qu’un programme C++ peut obtenir. Les programmes réels ont généralement des fichiers d’en-tête, plus de fichiers sources et un lien vers des bibliothèques.

Vous pouvez utiliser les étapes décrites dans cette procédure pas à pas pour générer votre propre code C++ au lieu de taper l’exemple de code affiché. Ces étapes vous permettent également de générer de nombreux exemples de programmes de code C++ que vous trouvez ailleurs. Vous pouvez placer votre code source et créer vos applications dans n’importe quel répertoire accessible en écriture. Par défaut, le IDE Visual Studio crée des projets dans votre dossier utilisateur, dans un sous-dossier source\repos. Les versions antérieures peuvent placer des projets dans un dossier Documents\Visual Studio \{version}\Projects.

Pour compiler un programme qui possède d’autres fichiers de code source, entrez-les tous sur la ligne de commande, par exemple :

cl /EHsc file1.cpp file2.cpp file3.cpp

L’option /EHsc de ligne de commande indique au compilateur d’activer le comportement de gestion des exceptions C++ standard. Sans cela, les exceptions levées peuvent entraîner des objets non détruits et des fuites de ressources. Pour plus d’informations, consultez l’article /EH (Modèle de gestion des exceptions).

Lorsque vous fournissez d’autres fichiers sources, le compilateur utilise le premier fichier d’entrée pour créer le nom du programme. Dans ce cas, il génère un programme appelé file1.exe. Pour modifier le nom en program1.exe, ajoutez une option /out de l’éditeur de lien :

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Pour intercepter automatiquement d’autres erreurs de programmation, nous vous recommandons de compiler à l’aide de l’option de niveau d’avertissement /W3 ou /W4 :

cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Le compilateur, cl.exe, a de nombreuses options supplémentaires. Vous pouvez les appliquer pour générer, optimiser, déboguer et analyser votre code. Pour obtenir une liste rapide, entrez cl /? à l’invite de commandes du développeur. Vous pouvez également compiler et lier séparément et appliquer des options d’éditeur de liens dans des scénarios de génération plus complexes. Pour plus d’informations sur les options et l’utilisation du compilateur et de l’éditeur de liens, consultez Référence de compilation C/C++.

Vous pouvez utiliser NMAKE et makefiles, MSBuild et fichiers projet, ou CMake, pour configurer et générer des projets plus complexes sur la ligne de commande. Pour plus d’informations sur l’utilisation de ces outils, consultez les projets référence NMAKE, MSBuild et CMake dans Visual Studio.

Les langages C et C++ sont similaires, mais pas les mêmes. Le compilateur MSVC utilise une règle simple pour déterminer le langage à utiliser lorsqu’il compile votre code. Par défaut, le compilateur MSVC traite les fichiers qui se terminent par .c le code source C et les fichiers qui se terminent en .cpp tant que code source C++. Pour forcer le compilateur à traiter tous les fichiers comme C++ indépendamment de l’extension de nom de fichier, utilisez l’option du compilateur /TP .

Le compilateur MSVC inclut une bibliothèque de runtime C (CRT) conforme à la norme ISO C99, avec des exceptions mineures. Le code portable compile et s’exécute généralement comme prévu. Certaines fonctions de bibliothèque obsolètes et plusieurs noms de fonctions POSIX sont déconseillées par le compilateur MSVC. Les fonctions sont prises en charge, mais les noms préférés ont changé. Pour plus d’informations, consultez Fonctionnalités de sécurité dans le CRT et l’avertissement du compilateur (niveau 3) C4996.

Voir aussi