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