Bien choisir et bien se servir de son EDI




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 courants


I - sous Windows :

Vous avez, pour cet O.S, plusieurs choix, je vais seulement vous parler des EDI gratuit* les plus utilisés, il s'agit de :
  • Dev C++
  • Code::Blocks
  • Visual Basic

*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 semble avoir été abandonné et n'est plus à jour depuis un certain temps (on en est toujours à la version 4.9.9.2 depuis quelques années ...), il est donc obsolète. De plus, de nombreux utilisateurs de Windows Vista se plaignent d'une incompatibilité (ce n'était pas mon cas avec la version fournie par le lien de téléchargement qui suit, mais je n'utilise également plus Dev C++). C'est pourquoi, pour ceux qui y sont habitués, je recommanderais plutôt Code::Blocks, qui dans son interface et très proche. Cet IDE n'est de plus disponible que sous Windows.

Voici un screen de son interface :





Téléchargement

Code::Blocks :

Cet IDE est très proche de Dev C++ (permet de programmer en C et C++), cependant il est mis à jour régulièrement (on en est actuellement à la version 8.02) et permet de faire directement des projet avec certaines bibliothèques comme GTK. Il est de plus disponible, non seulement sur Windows, mais aussi sur de nombreuses distros Linux et ainsi que mac OS. Certains ont même réussi à compiler le code source sur FreeBSD. Cet IDE est de plus multi-plateformes, il marche aussi bien sous Windows que sous Linux et peut utiliser différents compilateurs (nous en reparlerons dans la partie II). Une chose qui pourrait être reprochée à Code::Blocks, et de ne pas avoir de version en Français, ce qui n'est pas plus mal selon moi ... Pour l'installation, consultez la partie II.

Voici un screen de son interface :






Visual C++ :

Je ne m'attarderai pas sur cet IDE car je ne l'ai jamais utilisé. Je peut juste vous dire qu'il a été conçu par microsoft et qu'il est disponible seulement sous Windows et qu'il en existe une version gratuite. Encore une fois cet IDE et conçus pour programmer en C et C++, il est aussi connus pour sa facilité d'utilisation, le coté agréable de son interface mais aussi le fait qu'il permet en plus de générer des interfaces avec DotNet (sous Windows) en toute simplicité (reprenez-moi dans les commentaires si je me trompe la dessus). Enfin, il est parfois dit que son débugger est très puissant.

Voici un screen de son interface :



Attention : Dans le lien ci-dessous, il faut que vous preniez la version Visual C++ Express en français (qui est gratuite).

Téléchargement

II - sous Linux :

Il existe également plusieurs IDE dont Code::Blocks (qui utilise cette fois directement le compilateur GCC et non l'adaptation de MinGW) sous GNU/Linux (cependant, il ne marche pas toujours comme il faudrait, de nombreux linuxiens se plaignent de l'impossibilité de compiler avec sous Linux, nous reparlerons de ce problème dans la partie II ...), mais leur installation dépendent de la distribution, certains sont parfois installés d'origine. Je mentionnerai aussi l'existence de Glade qui permet de générer des interfaces en gtk en toute simplicité et aussi d'Anjuta , eclipse (avec un plugin spécial je crois) et Kdevellop qui sont de simples EDI comme code::blocks, à vous de les découvrir.

Pour l'installation de ces, utilisez le gestionnaire des paquets de votre distribution, vous trouverez comment utiliser certains gestionnaires (Fedora/Red Hat, Mandriva, Ubuntu/Debian) dans la liste des commandes.

Idev :

dev est un petit IDE en mode console (le nom est un condensé des mots "IDE" et "développement") que j'ai codé en C et en Bash pour les systèmes de type Unix. Il permet de coder en C, C++ et en langages de scripts tels que Bash, Perl, etc. En théorie, Idev devrait fonctionner sous toutes les distributions de GNU/Linux, voir même sous d'autres systèmes de type Unix comme Open Solaris, BSD, voir mac OS X

Idev est accessible à tout types de codeurs :

- les Débutants avec un guidage complet dans la compilation des fichiers et des projets.
- les habitués avec l'utilisation automatique des Warnings, des modes de gestion avancé dont la gestion des Makefiles, etc.

Cet EDI utilises le compilateur GCC et au moins un des éditeurs de texte suivant : Nano, Vim, Gvim, Emacs ou Gedit. Vous devrez donc installer GCC et au moins un des éditeurs cités pour l'utiliser.


Idev proposes aussi des commandes raccourcis et un important module d'aide avec des tutoriels en console ... idev-tutor pour en savoir plus, après installation.

Téléchargement et installation

GCC :
 
Il est également possible de compiler directement en console grâce au compilateur GCC ... je vous renvoie à cet article. Attention : GCC n'est pas un EDI mais un compilateur !

Pour utiliser GCC il est également utile de savoir utiliser un éditeur de texte en console tel que Emacs, ou VIM, je vous renvoie à cet article.

Pour installer gcc, toujours le même discours : utilisez votre gestionnaire des paquets et installez le paquet gcc ou build-essential si vous êtes sous Ubuntu.



Partie II :
installation et utilisation Code::Blocks


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).


I- Installation :

Sous Windows :

Vous trouverez, dans le lien de téléchargement ci-dessous, une version avec la plateforme MinGW (avec le compilateur gcc) intégré (codeblocks-8.02mingw-setup.exe) et une autre version (codeblocks-8.02-setup.exe) sans compilateur (je vous conseil de d'abord essayer la version avec MinGW) qui permet de l'adapter avec un compilo déjà présent sur l'OS (qui peut être gcc si vous avez d'autres IDE installés sur votre ordi, où Visual C++).

Téléchargement

Voici un tutoriel vidéo qui vous guide depuis le début pour l'installation de Code::Blocks sous Windows :




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
envoyé par ok_Idriss. - Les derniers test hi-tech en vidéo.

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 semblable au message ci-dessous ?

"essai - debug" uses an invalid compiler. Skipping...

Nothing to be done.

Si oui, essayez un a un (dans l'ordre), les trois "gestes" suivants :

Premier geste : Essayez d'abord de réinstaller la version de Code::Blocks avec MinGW comme il a été dit précédemment (dans la partie installation, partie II-I) puis 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 compilateur, dans ce cas (si ce que vous avez fait jusqu'ici ne fonctionne pas, essayez le second geste.

Second geste :  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.

Troisième geste :  Si cela ne fonctionne toujours pas, installez la version de Code::Blocks sans compilo et installez un autre EDI comme Dev C++ ou Visual C++, et configurez C::B de tel sorte qu'il utilise le compilo du second EDI : dans settings/Compiler and debugger ... sélectionnez GNU GCC Compiler si le second EDI est Dev C++, ou sélectionnez Visual C++ si vous utilisez Visual C++ comme second EDI (si cela ne fonctionne pas avec Dev C++ essayez tout de même avec Visual C++, le compilateur étant cette fois différent).

Si cela ne fonctionne toujours pas, vous serez dans l'obligation d'utiliser définitivement un autre EDI (voir partie I dans ce cas).


B - Sous Linux :

Beaucoup de débutant en 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?

J'ai donc réfléchi à une solution de dépannage pour Code::Blocks qui pourrait compiler les fichiers sources et exécuter un exécutable, bien sur elle ne va pas forcément convenir à tout le monde mais je la propose quand même au cas où. De plus, il est toujours utile de faire les vérifications préliminaire ci-dessous qui règlent parfois le problème.

Vérifications préliminaires :

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, 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 : sudo yum install gcc sous Fedora).

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 peut être 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 le terminal de KDE, pour cela renseignez-vous.

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 que je puisse vous conseiller et d'apprendre à vous servir de gcc et de g++ directement en console et à la limite de développer des outils dans C::B qui vous aideront à compiler et à exécuter vos programmes, d'où les étapes qui vont suivre. Si Code::Blocks compile votre programme mais ne l'exécute pas, il vous suffira simplement de créer l'outil Run (voir 4).

1) Création d'un dossier d'outils :

Tout d'abord commencez par ouvrir un terminal afin d'y exécuter ces commandes :

Code : Console


[ ~] sudo mkdir '/etc/C::Btools'
[ ~] cd '/etc/C::Btools'

Ne fermez pas ce terminal durant toute l'opération. Vous venez de créer un répertoire dans /etc qui contiendra tout les outils que nous allons développer.

2) Création de l'outil CBuild (qui compile le C) :

Faites ensuite cette commande :
sudo gedit Cbuild

Un éditeur de texte s'ouvre, si ce n'est pas le cas, essayez avec
un autre éditeur de texte ou installez Gedit … Insérez ensuite ce code :

Code : Bash
#!/bin/sh
echo "=== Compiler un fichier source ==="
echo "entrez le chemin du dossier :"
read directory
echo "Entrez le nom de votre fichier :"
read nom
cd $directory
gcc $nom -Wall -Wextra -o $nom.exe
# vous pouvez ajouter davantage de Warnings
echo "Appuyez sur une touche pour continuer ..."
read
Faites ensuite cette commande :
sudo chmod +x Cbuild

3) Création de l'outil CppBuild (qui compile le C++) :

Faites ensuite cette commande :
sudo gedit CppBuild

Insérez ensuite ce code :

Code : Bash

#!/bin/sh
echo "=== Compiler un fichier source ==="
echo "entrez le chemin du dossier :"
read directory

echo "Entrez le nom de votre fichier :"
read nom
cd $directory
g++ $nom -o $nom.exe
echo "Appuyez sur une touche pour continuer ..."
read

Faites ensuite cette commande :
sudo chmod +x CppBuild

Ces deux outils (Cbuild et CppBuild) permettent respectivement de compiler des fichiers sources en C ou en C++ mais ne permettent pas de compiler des projets.

4) Création de l'outil Run (qui exécute le programme) :

Faites ensuite cette commande :

sudo gedit run


Puis insérez ce code :

Code : Bash

#!/bin/sh
echo "=== Exécuter un fichier source ==="
echo "Entrez le chemin du dossier :"
read directory
echo "Entrez le nom de votre exécutable :"
read nom
cd $directory
./$nom
echo "Appuyez sur une touche pour continuer ..."
read

Faites ensuite cette commande :
sudo chmod +x run

5) Insertion de ces outils dans C::B :

  • Démarrez C::B
  • Cliquez sur Tools/Configure Tools
  • Appuyez sur Add
  • Entrez «Cbuild» (respectivement «CppBuild» ou «Run») dans la case name
  • Parcourez avec la deuxième case : les outils se trouveront dans système de fichier/etc/C::Btools
  • Cochez la première option "Launch tool in a new console and wait for a keypress when done"
Et voilà le tour est joué, vous n'avez plus qu'à aller dans tools pour utiliser ces outils … (vous aurez des exécutables.c.exe mais n'ayez crainte, l'extension n'a aucune incidence pour un exécutable). Malheureusement ce n'est pas très ergonomique pour compiler des projets, je vous recommande donc d'apprendre à compiler en console à l'aide de GCC. Vous pouvez aussi créer un autre script qui vous compile votre projet à partir d'un Makefile ... voir ici pour savoir créer un script bash.

Conclusion :

Pour Windows, je vous recommande de débuter avec Code::Blocks, car c'est un IDE très complet et régulièrement mis à jour mais il vous permettra aussi de vous familiariser avec gcc en vue d'un éventuel passage à Linux (parmi les 3 EDI mentionné pour Windows dans la partie I, il est le seul à fonctionner sous Linux). Vous pouvez aussi vous aider de Idev dans un premier temps, afin de vous familiariser avec GCC et les Makefiles mais aussi pour profiter des quelques options intéressantes qu'il propose.

Pour Linux, je vous recommande également d'utiliser Code::Blocks si possible mais surtout d'essayer de compiler à la ligne de commande avec GCC (Idev peut vous y aider au départ), comme vous l'enseigne
cet article.


Article ajouté le 2008-12-31 , consulté 1093 fois

Commentaires


ok site : linuxinfosastuces.blog4ever.com | le 07/02/2009 à 14:14:45
Il est possible les informations de cet articles ne soient plus à jour. Si vous constatez cela, je vous remercie d'avance d'indiquer cela par commentaire en laissant vos sources (les liens ne sont pas reconnus dans les commentaires mais laissez tout de même les URL de vos sources en fin de commentaire, en enlevant le http://). Vous pouvez aussi laisser vos impressions sur l'article et corriger d'éventuelles erreurs.
foo le 10/04/2009 à 10:03:59
Et GNU Emacs ? Et vim ? C'est pas les meilleurs IDE au monde ?
ok site : linuxinfosastuces.blog4ever.com | le 10/04/2009 à 19:14:49
Bah en fait, je parlait surtout des IDE "déjà prêts" : Vim et Emacs sont excellents (pour ma part je programme avec Vim et gcc) mais à la base, ce sont des éditeurs de texte (que l'on peut configurer en IDE je le sais bien), or un IDE regroupe éditeur, compilo et débugueur. Bref je suis d'accord avec toi mais je destinais ces articles au débutants en prog, et je juge qu'il vaut mieux leur donner des outils déjà prêt pour commencer ;). Bon je vais tout de même réfléchir si je ne vais pas en parler à la fin, à méditer (pour l'instant j'ai pas trop le temps). Merci,
ok
ok site : linuxinfosastuces.blog4ever.com | le 25/06/2009 à 15:52:59
Grosses mises à jour sur cette article, qu'est ce que vous en pensez ?

Poster un commentaire





http://





Merci de recopier le nombre présent à gauche dans la case de texte ci-dessous ( Pourquoi ? )





Liens

Voir les articles de la catégorie " Langages C et C++ "

Imprimer cet article

Retour aux articles