Ceci est une ancienne révision du document !
Code::Blocks
Code::Blocks est un IDE (environnement de développement intégré, ou IDE en anglais) gratuit pour le développement en C/C++. Il est facilement configurable à l'aide d'extensions et est mis à jour quasi-quotidiennement.
Pour en savoir plus, rendez-vous sur le site officiel.
Qu'est ce qu'un IDE ?
Un IDE est un logiciel permettant au développeur d'écrire, compiler et déboguer son programme avec un seul logiciel.
Une alternative à l'utilisation d'un tel logiciel est le développement à l'aide d'un éditeur de texte suivi d'une compilation manuelle, et le débogage à l'aide de l'outil GDB (GNUDeBugger).
Installation
Installation par les dépôts officiels
Il suffit d'installer le paquet codeblocks. (si vous utilisez Hardy il faut activer les Backports)
Installation par le dépôt LGP
Modifiez vos sources de mises à jour pour y rajouter le dépôt suivant :
Ubuntu 10.04 LTS (Lucid Lynx) | deb http://lgp203.free.fr/ubuntu/ lucid universe |
Ubuntu 9.10 (Karmic Koala) | deb http://lgp203.free.fr/ubuntu/ karmic universe |
Ubuntu 9.04 (Jaunty Jackalope) | deb http://lgp203.free.fr/ubuntu/ jaunty universe |
Ubuntu 8.04 LTS (Hardy Heron) | deb http://lgp203.free.fr/ubuntu/ hardy universe |
Récupérez la clé publique du dépôt :
wget -q http://lgp203.free.fr/public.key -O- | sudo apt-key add -
rechargez la liste des paquets, puis installez le paquet codeblocks.
Depuis un paquet .tar.gz
Installer le compilateur et le débuggeur en installant les paquets build-essential gdb.
Code::Blocks nécessite wxWidgets 2.8.x pour fonctionner correctement (dernière version de préférence).
Maintenant il faut installer les composants de wxWidgets disponibles dans le nouveau dépôt : libwxgtk2.8-0 libwxgtk2.8-dev wx2.8-headers wx-common.
sudo apt-get install libwxgtk2.8-0 libwxgtk2.8-dev wx2.8-headers wx-common
Il faut configurer wxWidgets 2.8 par défaut pour le système.
sudo update-alternatives --config wx-config
Tout est prêt pour accueillir Code::Blocks. Il faut l'installer soit comme précédemment
- Rendez-vous sur le forum du site de Code::Blocks.
- Entrez dans la rubrique Nightly builds et rendez-vous dans le sujet le plus récent pour y télécharger le paquet .tar.gz pour Ubuntu.
- Une fois le paquet téléchargé, installez-le.
Extraire le fichier .tar.gz. Il contient les différents paquets. Deux solutions se présentent alors :
- Installer Code::Blocks dans son intégralité (paquets optionnels compris) :
sudo dpkg -i /le/dossier/extrait/*.deb
- Installer uniquement le paquet Code::Blocks sans les paquets optionnels. Il faut tout d'abord installer le paquet
libcodeblocks0
puis le paquetcodeblock
. Pour installer les paquets optionnels par la suite, il faut commencer par le paquetlibwxsmithlib0
.
Code::Blocks est opérationnel.
Utiliser la bibliothèque GTK+ avec Code::blocks
Pour créer un projet en GTK+, suivez les étapes suivantes :
- Installez les paquets libgtk2.0-dev et build-essential
sudo apt-get install libgtk2.0-dev build-essential
- Ouvrez un projet de type « console application » dans code::blocks
- Sous Project → Build options → Compiler settings → Other options, collez ceci (avec les apostrophes) :
`pkg-config --cflags gtk+-2.0`
- Sous Project → Build options → Linker settings → Other linker options, collez (avec les apostrophes) :
`pkg-config --libs gtk+-2.0`
- Rédigez un fichier main.c de base pour Gtk+ :
#include <stdlib.h> #include <gtk/gtk.h> int main(int argc, char **argv) { /* Initialisation de GTK+ */ gtk_init(&argc, &argv); /*fermeture de GTK+ (ligne ajoutée) */ gtk_exit(EXIT_SUCCESS); return EXIT_SUCCESS; }
- Enregistrez ce fichier comme template : File → save project as user template
- Fermez le projet sans l'enregistrer.
Désormais, pour ouvrir un projet GTK+ sous code blocks, ouvrez un nouveau projet en choisissant le Template que vous avez créé dans « User Templates ».
Maintenant vous pouvez développer avec la bibliothèque GTK+.
Pour supprimer la console allez dans Project → Properties → Build Target → Select built Target Options → Type et choisissez GUI application.
Pour contrôler votre code dans la console pendant l'exécution de votre application, faites la même chose mais à la place de GUI application choisissez Console application.
Compiler le C++ avec Code::blocks
Pour cela vous devez installer ce paquet supplémentaire: build-essential.
Code::blocks en français
tout d'abord, rendez vous sur le Launchpad de code:blocks, sélectionnez la langue français (french) et cliquez sur "Download Translation" en haut de la page, sélectionnez le format "MO Format".
Il faut alors créer les dossiers qui accueillerons la traduction.
sudo mkdir /usr/share/codeblocks/locale sudo mkdir /usr/share/codeblocks/locale/fr_FR
Dans Setting → Environment → View, cochez la case Internationalization et sélectionner French.
Problèmes
Problème avec la touche "espace"
Désactivation du plugin Code Completion:
Plugins → Manage Plugins puis sélectionnez Code Completion et cliquez sur le bouton Disable
Sous Ubuntu 8.10 et ultérieurs
Pour Gnome : Système → Préférences → Clavier → Agencements → Options de l'agencement… → "Utiliser la barre d'espacement peut insérer un espace insécable" Choisir "La barre d'espacement renvoie une espace ordinaire à tous les niveaux".
Pour Kde4 : Dans configurer votre systèmes → Régions et langues → Disposition du clavier. Activez la disposition et dans l'onglet expert, Utiliser la barre d'espacement pour insérer un espace insécable, cocher "La barre d'espacement renvoie un espace à tous les niveaux"
Sous Kubuntu 8.10
Sous Intrepid Ibex (méthode testée sous kde4): Dans le fichier xorg.conf: dans la Section "InputDevice" remplacer la ligne
Option "XkbVariant" "oss"
par
Option "XkbVariant" "latin9"
et ajouter la ligne
Option "XkbOptions" "nbsp:none"
Si vous n'avez pas de Section "InputDevice" ce qui est très probablement le cas sous Intrepid, il suffit juste de l'ajouter. Voilà à quoi elle pourrait ressembler:
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "fr" Option "XkbVariant" "latin9" Option "XkbOptions" "nbsp:none" EndSection
Il ne vous reste plus qu'à redémarrer Xorg à l'aide des touches Ctrl+Alt+Backspace.
Sous Ubuntu 8.04
Beaucoup d'utilisateurs rencontrent le même problème avec Codeblocks et Ubuntu 8.04. En effet la touche "espace" ne remplit pas son rôle et amène systématiquement à l'ouverture d'une liste pour l'autocompletion.
Il va donc falloir modifier le fichier xorg.conf Tapez donc dans votre console:
sudo nano /etc/X11/xorg.conf
Cherchez la ligne Option "XkbVariant" "oss"
et commentez la (Ajouter un # en début de ligne)
Problème de lancement Code Blocks 10.05
Il ce peut que codeblocks ne ce lance pas. Si vous ouvrez codeblocks dans un terminal et qu'il vous renvoie:
"codeblocks: relocation error: /usr/lib/libcodeblocks.so.0: symbol _Z18wxSafeConvertWX2MBPKw, version WXU_2.8 not defined in file libwx_baseu-2.8.so.0 with link time reference"
rendez-vous sur le forum. Lancement de Code Blocks 10.05 Lancement de Code Blocks 10.05
Format d'un point d'arrêt non reconnu lors du déboggage
Un caractère dans un nom de répertoire peut causer ce problème :
- /home/user/C:B : Le caractère ":"
Contributeurs: …, Vinc14, Nementon, tintou.