Introduction :
EDI signifie "environnement de développement intégré" ("Integrated Development Environment" en anglais ce qui donne IDE et qui est aussi utilisé en Français). Il s'agit d'un programme qui regroupe un éditeur de texte, un compilateur (qui sert le plus souvent à traduire un code source écrit dans un langage de programmation comme le C en un autre langage, habituellement un langage d'assemblage ou un langage machine comme le binaire*), des outils automatiques de fabrication, et souvent un débugger (programme permettant de débugger, c'est-à-dire d'aider le le programmeur à détecter les déficiences de son programme).
* dans le cas du C et du C++, il s'agit d'une transformation en langage machine qu'est le binaire. On peut directement programmer en C et en C++ avec un compilateur comme gcc sous Linux, mais l'EDI est là pour nous faciliter la tache, en nous apportant un environnement de développement plus convivial.
Partie I : les EDI gratuits les plus courrants
Vous avez, pour cet O.S, plusieurs choix, je vais seulement vous parler des EDI gratuit * les plus utilisés, il s'agit de :
*Je ne parlerai pas des grandes plateformes professionnelles et payantes comme Borland C++ par exemple.
Dev C++ :
Cet IDE permet de programmer en C et C++, il est assez simple d'utilisation et existe aussi en version Française. Cet IDE utilise utilise la plateforme MinGW qui une adaptation pour Windows de certains programmes de la suite GNU comme le compilateur GCC (GNU Compiler Collection). Le problème, c'est qu'il a été abandonné et n'est plus à jour depuis un certain temps (on en est toujours à la version 4.9.9.2 depuis plusieurs années), il est donc obsolète. De plus, de nombreux utilisateurs (pas tous) de Windows Vista semblent avoir des problèmes d'incompatibilité. C'est pourquoi, pour ceux qui y sont habitués, il est plutôt recommandé d'utiliser Code::Blocks qui, dans son interface et dans son fonctionnement, est très proche. Dev C++ n'est de plus disponible que sous Windows.
Voici un screen de son interface :
Dans cette partie, nous allons nous intéresser plus particulièrement à Code::Blocks. Pourquoi ? Parce que c'est l'un des IDE gratuit les plus utilisés et qu'il est multi-plateformes (contrairement à Dev C++ ou Visual C++ par exemple).
Sous Linux :
Vous devez installer le paquet codeblocks avec votre gestionnaire des paquets, si vous êtes sous Fedora, Mandriva ou Ubuntu, vous pouvez vous aider de la liste des commandes. Il existe également un tutoriel sur le sdz qui vous propose de recompiler C::B, c'est une méthode possible pour l'installer, rendez-vous ici : Installation de Code::Blocks sous Ubuntu.
II - Utilisation :
Compiler un fichier source et exécuter un programme :
Tout d'abord, faites File/New/Empty file pour créer un nouveau fichier source. Vous devez, ensuite, enregistrer votre fichier source au format .c (si c'est du C) ou .cpp (si c'est du C++). Puis appuyez sur Build/build pour compiler puis sur Build/run pour exécuter votre programme. Vous trouverez l'exécutable dans le répertoire ou ce trouve votre fichier source (définis lors de l'enregistrement).
Créer et compiler un projet :
Cette fois, vous allez apprendre à créer et à compiler un projet et non un simple fichier source avec C::B (File/New/Project). Pour cela je vous laisse visionner la vidéo ci-dessous d'Emmanuel Delahaye (que vous pouvez d'ailleurs télécharger ici au format .avi) expliquant comment se servir de Code::Blocks pour faire un projet modulaire :
Utiliser Code::Blocks pour faire un projet
Bien configurer son compilateur (les warnings) :
Il est important de savoir configurer son IDE et d'y mettre certains Warnings qui analyse le code pour y détecter toutes sortes d'erreurs de bugs qui pourraient ne pas être vu lors d'une simple compilation. Pour cela, allez dans Settings/Compiler and debugger/Onglet 'Compiler settings'/Onglet 'other option' puis insérez le code minimal suivant (les options doivent être séparées par des espaces) :
-Wall -Wextra -ansi -O -Wwrite-strings -Wstrict-prototypes
-Wuninitialized -Wunreachable-code
Puis faites ok et régénérez en faisant CTRL + F11 ou en fermant C::B.
Pour aller plus loin, vous pouvez consulter le site d'Emmanuel Delahaye dans la partie "bien configurer son compilateur" ou encore en allant consulter les différentes options de GCC présentées dans la doc.
Autres liens pour l'utilisation de C::B :
Ayez les bons outils ! (sdz)
Installez et maîtrisez à fond Code::Blocks ! (sdz)
QtWorkbench : compilez vos projets Qt sous Code::Blocks ! (sdz)
III - Code::Blocks ne compile pas
A - Sous Windows :
Vous avez un message d'erreur sembable au message ci-dessous :
uses an invalid compiler. Skipping...
Nothing to be done.
Essayez donc un a un (dans l'ordre), les manipulations suivantes :
Tout d'abord vérifiez que votre IDE est correctement réglé : dans settings/Compiler and debugger, vérifiez que le compilateur sélectionné est bien GNU GCC Compiler, sélectionnez-le si ce n'est pas le cas (vous pouvez tenter un reset default). Il également est possible que C::B ne trouve pas le chemin du compilateur, dans ce cas, allez de nouveau dans Settings/Compiler and debugger ... (une fenêtre s'ouvre, vous êtes normalement dans la partie Global compiler Settings). Puis, allez dans la partie Toolchain executables et cliquez sur Auto-detect.
Si cela ne fonctionne toujours pas, essayer d'installer la version de Code::Blocks avec MinGW (voir partie A) et recommencez les manipulations ci-dessus. Si cela ne fonctionne toujours pas, installez la version de Code::Blocks sans compilateur, installez MinGW à la main ou bien Dev C++ (qui utilise aussi MinGW) et re-essayez les manipulations précédentes. Si ça ne marche toujours pas vous n'avez plus qu'à installer Visual C++, et configurer C::B de tel sorte qu'il utilise le compilateur de Visual : dans settings/Compiler and debugger, sélectionnez Visual C++.
B - Sous Linux :
Beaucoup de débutants en C ou C++ se plaignent du fait que Code::Blocks ne compile pas leur programme sous Linux (ou parfois n'exécute pas leur programme). En effet, il semble que les packages ont été mal fait sous certaines distributions (et certaines versions de distributions). Vous avez d'ailleurs, souvent ce type de message en appuiant sur build and run :
It seems that this project has not been built yet.
Do you want to build it now?
Tout d'abord, il faut vérifier que GCC est bien installé sur votre système, pour cela il suffit de l'appeler en console (gcc en console, s'il est présent, il vous dira qu'il n'y a pas de fichiers à l'entrée).
Si vous êtes sous Ubuntu (ou Debian), pour installer GCC (après avoir vérifié qu'il n'était pas présent) faites : sudo aptitude install build-essential ou encore sudo apt-get install build-essential. Sinon, utilisez le gestionnaire des paquet de votre distribution et installez le paquet gcc (exemple : yum install gcc et yum install gcc-c++ en root sous Fedora, RHEL ou CentOS).
Vérifiez également que xterm est bien installé sur votre système (faites xterm en console), sinon installez-le également. xterm est un terminal assez simple qui à l'avantage de fonctionner sur toutes les interfaces graphiques (GNOME, KDE, etc) et qui est utilisé par Code::Blocks ... son absence est très souvent la cause du problème d'exécution. Vous pouvez aussi configurer C::B de tel sorte à ce qu'il utilise plutôt gnome-terminal (le terminal de GNOME) ou encore konsole (le terminal de KDE). Pour cela, allez dans Setting => Environment => Terminal to launch console programs et vous remplissez le champs avec la ligne d'exécution correspondante (par exemple pour gnome-terminal c'est gnome-terminal -t $TITLE -x).
Enfin vérifiez que votre IDE est correctement réglé : dans settings/Compiler and debugger ... vérifiez que le compilateur sélectionné est bien GNU GCC Compiler, sélectionnez-le si ce n'est pas le cas (de la même façon que sous Windows, voir la partie A ci-dessus).
Essayez maintenant de compiler un petit programme et si cela ne fonctionne toujours pas, le mieux sera sans doute d'apprendre à vous servir de gcc et de g++ directement en console (voir ici pour en savoir plus).