Aller au contenu
Topos Uranos

Installer l’environnement sous Windows, macOS et Linux

Résumé

Cette leçon laisse installé et vérifié l’environnement avec lequel on travaillera pendant tout le cours. Elle explique d’abord ce qu’on installe et pourquoi : un compilateur, qui est un programme à part ; un éditeur, Visual Studio Code, qui l’invoque ; son extension officielle pour C++ ; et le terminal, depuis lequel on invoque le compilateur sans intermédiaire. Elle offre ensuite un guide complet pour chaque système : sous Windows, MSYS2 avec l’environnement UCRT64 et GCC, ou le compilateur de Microsoft comme alternative ; sous macOS, les outils en ligne de commande de Xcode avec Clang, ou GCC de Homebrew si la version d’Apple ne suffit pas ; sous Linux, le GCC de la distribution sous Debian et Ubuntu, Fedora et Arch. Suivent l’installation de l’éditeur et de son extension, identique sur les trois systèmes, et la configuration de la console de Windows pour qu’elle écrive et lise du texte en UTF-8. Elle se termine par un programme de test, qui écrit une ligne avec des accents et la norme de C++ que le compilateur applique, et par les défaillances fréquentes de l’installation, chacune avec sa cause et son remède.

Objectifs d’apprentissage

  1. Installer sur son propre système un compilateur qui prend en charge C++23 et vérifier sa version depuis le terminal.
  2. Installer Visual Studio Code et son extension officielle pour C++, et ouvrir avec lui un dossier de travail.
  3. Compiler et exécuter le premier programme de test, depuis le terminal et depuis l’éditeur.
  4. Diagnostiquer et résoudre au moins trois défaillances fréquentes de l’installation (compilateur introuvable, version ancienne, norme non reconnue).

Ce qu’on installe et pourquoi

Dans la leçon Programmes, compilateurs et C++, on a vu qu’un programme écrit en C++ ne s’exécute pas tel qu’il est écrit : un compilateur le traduit en un exécutable, un fichier d’instructions machine que le système d’exploitation peut mettre en marche. S’il en est ainsi, il faut pour programmer au moins deux choses distinctes : un endroit où écrire le texte du programme et un traducteur qui le convertisse en exécutable. La première est fournie par un éditeur ; la seconde, par le compilateur. Ce sont des programmes séparés, qui s’installent séparément et qui peuvent tomber en panne séparément, et il convient de ne pas les confondre : l’éditeur ne compile rien, il demande au compilateur de compiler et montre ce que celui-ci répond.

Cette séparation a une conséquence pratique dont dépendent tous les guides de cette leçon. Quand l’éditeur « compile », il écrit en réalité dans un terminal une commande comme g++ main.cpp -o main, exactement comme l’étudiant pourrait l’écrire. Il s’ensuit que tout ce que fait l’éditeur peut aussi se faire à la main dans le terminal, la fenêtre de texte où l’on écrit des commandes pour le système d’exploitation ; et que, si l’éditeur échoue, le terminal permet de savoir si le défaut se trouve dans l’éditeur ou dans le compilateur. C’est pourquoi le cours travaille avec les deux dès le premier jour : l’éditeur par commodité, le terminal pour savoir ce qui se passe.

Les pièces à installer sont au nombre de quatre.

  • Le compilateur, avec sa bibliothèque standard. Le cours utilise la norme C++23, de sorte que le compilateur doit la reconnaître et que sa bibliothèque doit inclure l’en-tête <print>, qui fournit std::println. On utilisera GCC (dont la commande pour C++ est g++) sous Windows et sous Linux, et Clang (clang++) sous macOS. Il faut GCC 15 ou ultérieur : l’en-tête <print> est arrivé dans la bibliothèque de GCC avec la version 14, mais l’écriture d’une collection entière avec std::println, que le cours utilise depuis la leçon Programmes, compilateurs et C++ et dans beaucoup de leçons ultérieures, seulement avec la 15. Sous macOS, les outils de Xcode 16 ou ultérieurs.
  • L’éditeur : Visual Studio Code, gratuit et le même programme sur les trois systèmes, de sorte que les indications du cours valent pour tous.
  • L’extension officielle C/C++ de Microsoft pour Visual Studio Code, qui apprend le langage à l’éditeur : elle colore le code, signale les erreurs pendant la frappe, complète les noms et sait invoquer le compilateur et le débogueur.
  • Le débogueur, GDB sous Windows et Linux, LLDB sous macOS : un programme qui permet d’arrêter l’exécution et d’examiner l’état d’un programme. On l’installe maintenant avec le compilateur et on l’utilisera à partir de l’unité 4.

Les guides suivants sont indépendants : chaque étudiant suit celui de son système et passe ensuite à la section sur Visual Studio Code. Dans les blocs de commandes, le signe $ au début d’une ligne représente l’invite du terminal et ne se tape pas ; les lignes sans ce signe sont ce que le terminal répond. Les sites officiels cités sont les seuls d’où il convient de télécharger : un installateur obtenu ailleurs peut être périmé ou altéré.