Project

General

Profile

Compilation et code--blocks » History » Version 1

iri, 01/29/2013 09:34 PM

1 1 iri
h1. Compilation et code::blocks
2
3
Objectif : bases de la compilation pratique et utilisation de Code::Blocks
4
5
STATUT : COMPLET
6
Version : 1.0
7
Auteur : iri
8
Date : Novembre 2010 (initialement diffusé sur http://www.irizone.net)
9
Licence du tutoriel : GNU FDL v1.3
10
Licence du code source : GNU/GPL v3
11
Ok pour toute version de Scol Windows et GNU/Linux.
12
13
14
h2. Code::Blocks
15
16
h3. Installation
17
18
Code::Blocks (C::B en abrégé) est un IDE (Environnement de Développement Intégré,
19
en Français), orienté C et C++ (mais compatible avec d'autres langages éventuellement).
20
Son développement est très actif et il est possible, si on le souhaite, utiliser
21
les "Nightly Build", les mises à jours régulières et quotidiennes. Dans notre cas,
22
ce n'est pas nécessaire.
23
24
Si vous êtes sous MS Windows, rendez-vous sur le site officiel de C::B (il est
25
toujours préférable de passer par les sites officiels que par des plateformes de
26
téléchargement qui n'ont pas forcément la dernière version ou qui ne proposent pas
27
toutes les options) : http://www.codeblocks.org/
28
La rubrique "Downloads" vous tend les bras. À moins de savoir ce que vous faîtes, 
29
préférez la version incluant MingW, vous n'aurez pas à configurer les différents
30
paths du compilateur.
31
32
Si vous êtes sous GNU/Linux, installez C::B depuis les dépôts de votre distribution
33
ou compilez-le avec le code source disponible à la rubrique "Downloads" de 
34
http://www.codeblocks.org/
35
36
h3. Utilisation
37
38
Ouvrez C::B. Vous devriez obtenir une interface similaire (les captures ci-dessus 
39
ont été faite sur un système Ubuntu, les variations sont minimes sous MS Windows,
40
cliquez sur les images pour les agrandir) :
41
42
http://www.irizone.net/img/prog_cb_0.png (image 1)
43
44
Commencez un nouveau projet (Create a new project ou menu File > New > Project).
45
Un assistant s'affiche, cliquez sur Suivant.
46
Choisissez "Project" dans la liste de gauche puis "Shared library" puisque nous allons
47
ajouter une bibliothèque à Scol :
48
49
http://www.irizone.net/img/prog_cb_1.png (image 2)
50
51
Cliquez sur le bouton "Go". Choisissez le langage (C ou C++). Ici, dans ces tutoriaux,
52
j'utiliserai exclusivement du C. Il est inutile de mettre automatiquement C++ si vous
53
ne codez qu'en C, les retours du compilateur n'en seront que plus pertinents. Quant
54
à la POO, il est possible d'en faire en C, il n'y a qu'à voir GTK+ qui est exclusivement
55
en C. Le sujet étant hautement trollesque et inapproprié ici, faîtes comme bon vous
56
semble ! Sachez simplement que vous pourrez toujours modifiez le compilateur plus tard.
57
Vous obtenez l'étape suivante pour configurer les paths de votre projet. Vérifiez
58
bien le dernier champ, C::B a une facheuse tendance à ajouter un degré supplémentaire dans l'arborescence.
59
60
http://www.irizone.net/img/prog_cb_2.png (image 3)
61
62
Choisissez le compilateur. Vous avez le choix entre plusieurs compilateurs. Remarquez
63
que C::B vous les propose même s'ils ne sont pas présents. Le cas échéant, installez-les
64
et configurez-les dans C::B via le menu "Settings". Choississez GNU GCC Compiler et
65
cochez les cases Release et/ou Debug, au choix.
66
Par défaut, l'option Release placera l'option -s à gcc alors que l'option Debug placera
67
l'option -g (et supprimera l'option -s).
68
69
http://www.irizone.net/img/prog_cb_3.png (image 4)
70
71
Cliquez sur le bouton Finish. Par défaut, C::B vous crée un fichier "main.c"
72
avec un contenu bidon. Vous pouvez modifier / créer vos propres templates.
73
L'arborescence de votre projet est présente dans l'arbre situé sur la gauche de l'interface.
74
Un double-clic édite le fichier, un clic droit propose diverses options.
75
76
Mieux vaut configurez immédiatement le compilateur, comme ça, c'est fait ! Allez
77
au menu "Project" > "Build options" :
78
79
http://www.irizone.net/img/prog_cb_4.png (image 5)
80
81
Dans l'arbre de gauche, vous retrouvez les options (Debug et Release si vous les
82
avez sélectionnées lors de la création du projet).
83
Pour chacune d'elles je préconise les options suivantes :
84
85
* "-Wall" (enable all compilers warnings) : si les warnings ne bloquent pas la compilation,
86
les conséquences sont souvent plus fâcheuses lors de l'exécution. Sauf cas particuliers,
87
corrigez-les même s'ils vous paraissent secondaires : c'est TOUJOURS une source de 
88
bogues potentiels ou de mauvaise portabilité. De plus, même si leurs présences se révèlent
89
inoffensive à l'exécution, ils traduisent le plus souvent une mauvaise conception du code.
90
* "-pedantic" (enable warnings demanded by strict ISO C and ISO C++) : option impérative
91
pour écrire un code normalisée : l'intérêt est qu'il sera le plus facilement portable
92
sur d'autres plateformes ou le plus facilement compilable par un autre compilateur.
93
De plus, un code normalisée est moins sujet à des bogues (puisque non seulement la
94
norme est éprouvée mais aussi pleinement compatible avec les standards). Enfin, un code
95
normalisé sera mieux lisible.
96
* "-O2" (optimize even more) : c'est l'option par défaut de C::B, qui peut être un bon 
97
compromis.
98
* "-ansi" : cette option est relativement parallèle avec -pedantic (elles sont souvent
99
utilisées conjointement dans la chaîne des options passées à gcc). Cependant, si vous
100
souhaitez utiliser certaines fonctions, notamment de la glibc, spécifiques à GNU, mieux
101
vaudrait la décocher. Sinon, cochez-la, elle ne rendra votre code que meilleur !
102
103
Bien entendu, ces options risquent de vous afficher un grand nombre de warnings
104
si vous n'avez pas l'habitude de respecter un minimum la norme. Prenez le temps de
105
les corriger, ce ne sera que bénéfique à plus long terme :)
106
107
Avec l'option "Debug", l'option "-g" (produce debugging symbols) sera cochée. L'option
108
"-s" (remove all symbols from binary) sera, elle, enlevée. Ce qui est logique ... !
109
110
Avec l'option "Release", c'est l'inverse (option "-g" absente, option "-s" présente).
111
Cette dernière est néanmoins facultative.
112
113
Notez que l'option "-Wextra" peut être trop restrictive et renvoyer nombre de 
114
warnings que vous ne pourrez pas corriger (renvoyant le plus souvent à des bibliothèques
115
tierces).
116
117
Enfin, si votre code a besoin de bibliothèques particulières, ajoutez-les au linker
118
(onglet "Linker settings") et/ou configurez le compilateur (onglet "Compiler settings" > "Other options").
119
120
Configurez plus finement votre projet en allant au menu "Project" > "Properties" :
121
122
http://www.irizone.net/img/prog_cb_5.png (image 6)
123
124
Vous êtes désormais prêt à coder ;-)
125
126
127
PS : si nécessaire, un bon tutoriel est présent sur le site du zéro : http://www.siteduzero.com/tutoriel-3-2763-installez-et-maitrisez-a-fond-code-blocks.html.
128
Pour le debugging, une première entrée peut se faire ici : http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks.
129
Enfin et surtout, un manuel complet en français et réalisé par l'équipe de développement de C::B est librement disponible : manuel.