Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
code_blocks [Le 02/06/2010, 09:36] ftarkin ancienne révision restaurée |
code_blocks [Le 09/11/2022, 02:32] (Version actuelle) 109.215.68.127 Suppression ppa non suivi depuis début 2016. |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>développement IDE }} | + | {{tag>Xenial IDE programmation}} |
---- | ---- | ||
- | |||
{{ codeblock_icon.jpg}} | {{ codeblock_icon.jpg}} | ||
- | |||
====== Code::Blocks ====== | ====== Code::Blocks ====== | ||
- | + | **Code::Blocks** est un [[wpfr>Environnement_de_développement_intégré|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. | |
- | **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 [[http://www.codeblocks.org|le site officiel]]. | Pour en savoir plus, rendez-vous sur [[http://www.codeblocks.org|le site officiel]]. | ||
- | |||
- | |||
- | |||
==== Qu'est ce qu'un IDE ? ==== | ==== Qu'est ce qu'un IDE ? ==== | ||
- | |||
Un [[wpfr>Environnement_de_développement_intégré|IDE]] est un logiciel permettant au développeur d'écrire, compiler et déboguer son programme avec un seul logiciel. | Un [[wpfr>Environnement_de_développement_intégré|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|GDB (GNUDeBugger)]]. | 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|GDB (GNUDeBugger)]]. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== Installation ===== | ===== Installation ===== | ||
+ | Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>codeblocks]]** et **[[apt>build-essential]]** | ||
- | <note important>Pour installer code block sur ubuntu 8.10 il n'est pas nécéssaire de modifier vos sources logiciel, vous pouvez directement passer à l'installation de code block par le depot</note> | + | ==== Code::blocks en français ==== |
- | <note important>Sous ubuntu 9.10 (et 9.04?) Code::Blocks est déjà dans les dépots, vous pouvez directement [[:tutoriel:comment_installer_un_paquet|l'installer]] via Synaptic, [[apt://codeblocks|{{apt.png}}]], ou "sudo apt-get install codeblocks"</note> | + | <note help> |
- | + | Afin d'obtenir un meilleur support, nous vous déconseillons d'activer la traduction française.</note> | |
- | Code::Blocks repose sur wxWidgets. Par défaut, il n'est pas dans vos dépôts, vous pouvez l'ajouter en [[tutoriel:comment_modifier_sources_maj|ajoutant le dépôt]] suivant à vos sources de mises à jour : | + | |
- | + | ||
- | | Ubuntu 7.10 //(Gutsy Gibbon)// | <file>deb http://apt.wxwidgets.org/ gutsy-wx main</file> | | + | |
- | | Ubuntu 8.04 //(Hardy Heron)// | <file>deb http://apt.wxwidgets.org/ hardy-wx main</file> | | + | |
- | + | ||
- | Entrez dans la console la commande suivante pour récupérer la clé publique du dépôt wxWidgets : | + | |
- | wget -q http://apt.wxwidgets.org/key.asc -O- | sudo apt-key add - | + | |
- | Puis installez le packet libwxgtk2.8-0 via apt-get, les dépendances s'installeront d'elles-même : | + | |
- | sudo apt-get install libwxgtk2.8-0 | + | |
- | + | ||
- | + | ||
- | Rendez-vous sur [[http://www.codeblocks.org/downloads/5|la page des téléchargements de Code::Blocks]] et téléchargez l'archive qui correspond à votre version d'Ubuntu (32 bits ou 64 bits). Décompressez-le et installez le paquet dont le nom commence par « libcodeblocks0 », pour la version 32 bits : | + | |
- | sudo dpkg -i libcodeblocks0_8.02-0ubuntu1_i386.deb | + | |
- | puis le paquet dont le nom commence par « codeblocks_8.02 » (ici, toujours pour la version 32 bits) : | + | |
- | sudo dpkg -i codeblocks_8.02-0ubuntu1_i386.deb | + | |
- | + | ||
- | //Astuce : commencez à taper le début du nom du fichier puis appuyez sur la touche tabulation.// | + | |
- | + | ||
- | Code::Blocks est désormais installé. | + | |
- | + | ||
- | <note>Il est possible qu'aucun lanceur n'ait été créé dans le menu //Applications// (ou menu //K//), il vous faudra [[:raccourcis-lanceur|le créer vous-même]] (la commande est tout simplement « codeblocks »).</note> | + | |
- | + | ||
- | + | ||
- | <note important>Ce qui suit est valable pour l'installation des //nightly builds//((Compilations nocturnes.)), mais depuis le 28 février une nouvelle version de Code::Blocks est sortie, bien plus facile à installer (lire le paragraphe ci-dessus).</note> | + | |
- | + | ||
- | ==== Par dépôt (à partir du build 4405) ==== | + | |
- | + | ||
- | [[:tutoriel:comment_modifier_sources_maj|Modifiez vos sources de mises à jour]] pour y rajouter le dépôt suivant : | + | |
- | | Ubuntu 8.04 //(Hardy Heron)// | <file>deb http://lgp203.free.fr/ubuntu/ hardy universe</file> | | + | |
- | | Ubuntu 7.10 //(Gutsy Gibbon)// | <file>deb http://lgp203.free.fr/ubuntu/ gutsy universe</file> | | + | |
- | | Ubuntu 7.04 //(Feisty Fawn)// | <file>deb http://lgp203.free.fr/ubuntu/ feisty universe</file> | | + | |
- | | Ubuntu 6.10 //(Edgy Eft)// | <file>deb http://lgp203.free.fr/ubuntu/ edgy universe</file> | | + | |
- | | Ubuntu 6.06 LTS //(Dapper Drake)// | <file>deb http://lgp203.free.fr/ubuntu/ dapper universe</file> | | + | |
- | | Ubuntu 9.10 // (Karmic Koala)// | <file>deb http://lgp203.free.fr/ubuntu/ karmic universe</file> | | + | |
- | + | ||
- | + | ||
- | Récupérez la clé publique du dépôt : | + | |
- | wget -q http://lgp203.free.fr/public.key -O- | sudo apt-key add - | + | |
- | + | ||
- | Mettez à jour les paquets puis installer codeblocks: [[apt://codeblocks|{{apt.png}}]] | + | |
- | + | ||
- | Si ce lien renvoie une erreur en précisant que c'est un problème de dépendance de paquets, allez faire un tour sur cette page : [[:wxwidgets#depot_httpapt.wxwidgets.org|wxWidgets]] et suivez les instructions du paragraphe affiché (ajouter le dépot, ajouter la clé, faire un update). | + | |
- | Relancez la commande pour installer Code::Blocks et ça devrait fonctionner. | + | |
- | + | ||
- | Après avoir installé Code::Blocks, installez les paquets suivants:[[apt://codeblocks-contrib|{{apt.png}}]] et [[apt://libwxsmithlib0|{{apt.png}}]] | + | |
- | + | ||
- | Code::Blocks est opérationnel. | + | |
- | + | ||
- | Si toutefois celui-ci ne se lance pas, il se peut que vous n'ayez pas la bibliothèque graphique qu'il y a avec. Installez ce paquet [[apt://libwxgtk2.8-0|{{apt.png}}]] | + | |
- | Puis [[http://forums.codeblocks.org/index.php?/topic,5956.msg45602.html#msg45602|suivez ces instructions]]. | + | |
- | + | ||
- | + | ||
- | ==== Depuis un paquet .tar.gz (à partir du build 4281) ==== | + | |
- | + | ||
- | Installer le compilateur et le débuggeur en [[:tutoriel:comment_installer_un_paquet|installant les paquets]] ** build-essential gdb**. | + | |
- | + | ||
- | Code::Blocks nécessite [[wxWidgets]] 2.8.x pour fonctionner correctement (dernière version de préférence). | + | |
- | + | ||
- | Il faut ajouter le dépôt de wxWidgets car la dernière version n'est pas dans les dépôts. | + | |
- | + | ||
- | [[:tutoriel:comment_modifier_sources_maj|Modifiez vos sources de mises à jour]] pour y rajouter les dépôts suivants : | + | |
- | + | ||
- | Pour Edgy : | + | |
- | <code>deb http://apt.tt-solutions.com/ubuntu/ edgy main</code> | + | |
- | + | ||
- | Pour Feisty : | + | |
- | <code>deb http://apt.tt-solutions.com/ubuntu/ feisty main</code> | + | |
- | + | ||
- | Ajoutez la clé : | + | |
- | <code>wget -q http://www.tt-solutions.com/vz/key.asc</code> | + | |
- | <code>sudo apt-key add key.asc</code> | + | |
- | + | ||
- | Maintenant il faut [[:tutoriel:comment_installer_un_paquet|installer]] les composants de wxWidgets disponibles dans le nouveau dépôt : | + | |
- | **libwxgtk2.8-0 libwxgtk2.8-dev wx2.8-headers wx-common**. | + | |
- | <code>sudo apt-get install libwxgtk2.8-0 libwxgtk2.8-dev wx2.8-headers wx-common</code> | + | |
- | + | ||
- | Il faut configurer wxWidgets 2.8 par défaut pour le système. | + | |
- | <code>sudo update-alternatives --config wx-config</code> | + | |
- | + | ||
- | Tout est prêt pour accueillir Code::Blocks. Il faut l'installer soit | + | |
- | + | ||
- | == Comme précédemment == | + | |
- | + | ||
- | - Rendez-vous sur [[http://forums.codeblocks.org/index.php|le forum du site de Code::Blocks]]. | + | |
- | - Entrez dans la rubrique [[http://forums.codeblocks.org/index.php/board,20.0.html|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é, [[:tutoriel:comment_installer_un_paquet|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) : <code>sudo dpkg -i /le/dossier/extrait/*.deb</code> | + | |
- | - Installer uniquement le paquet Code::Blocks sans les paquets optionnels. Il faut tout d'abord installer le paquet ''libcodeblocks0'' puis le paquet ''codeblock''. Pour installer les paquets optionnels par la suite, il faut commencer par le paquet ''libwxsmithlib0''. | + | |
- | + | ||
- | Code::Blocks est opérationnel. | + | |
- | + | ||
- | + | ||
- | ==== Depuis un paquet .deb (ancien - avant le build 4281) ==== | + | |
- | + | ||
- | Les anciens builds de Code::Blocks sont compilés en un seul paquets .deb qui s'installe comme suit. | + | |
- | + | ||
- | L'application Code::Blocks n'est pas encore disponible dans les dépôts, et de toute façon il faut télécharger une nouvelle version régulièrement pour que la majorité des bugs soient corrigés. | + | |
- | + | ||
- | - Rendez-vous sur [[http://forums.codeblocks.org/index.php|le forum du site de Code::Blocks]]. | + | |
- | - Entrez dans la rubrique [[http://forums.codeblocks.org/index.php/board,20.0.html|Nightly builds]] et rendez-vous dans le sujet le plus récent pour y télécharger le paquet .deb pour Ubuntu. | + | |
- | - Une fois le paquet téléchargé, [[:tutoriel:comment_installer_un_paquet|installez-le]]. | + | |
- | + | ||
- | <note>Parfois le paquet n'est pas disponible car la mise à jour est récente et les développeurs n'ont pas eu le temps de le préparer. Prenez alors la version de la veille.</note> | + | |
- | + | ||
- | <note>Si vous n'arrivez pas à accéder au forum de Code::Blocks pour télécharger le « .deb », vous trouverez sur le site ci dessous des paquets déjà précompilé pour Ubuntu (Dapper entre autre) et qui marche également sur Edgy et Feisty : | + | |
- | [[http://developer.berlios.de/project/showfiles.php?group_id=5358|Paquet Code::Blocks précompilé pour Ubuntu]]</note> | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===== Utiliser la bibliothèque GTK+ avec Code::blocks ===== | + | |
- | + | ||
- | <note tip>Notez que les dernières versions de Code::blocks gèrent nativement les projets GTK+, l'option étant disponible dans l'assistant de création d'un nouveau projets (//File -> New -> Project...//)</note> | + | |
- | + | ||
- | Pour créer un projet en GTK+, suivez les étapes suivantes : | + | |
- | + | ||
- | * [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **libgtk2.0-dev** et **build-essential** [[apt://libgtk2.0-dev,build-essential|{{apt.png}}]] | + | |
- | <code>sudo apt-get install libgtk2.0-dev build-essential</code> | + | |
- | + | ||
- | * Ouvrez un projet de type « console application » dans code::blocks | + | |
- | * Sous //Project -> Build options -> Compiler settings -> Other options//, collez ceci (avec les apostrophes) :<file>`pkg-config --cflags gtk+-2.0`</file> | + | |
- | + | ||
- | * Sous //Project -> Build options -> Linker settings -> Other linker options//, collez (avec les apostrophes) :<file>`pkg-config --libs gtk+-2.0`</file> | + | |
- | + | ||
- | * Rédigez un fichier **main.c** de base pour Gtk+ :<file>#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; | + | |
- | }</file> | + | |
- | + | ||
- | * 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. | + | |
- | + | ||
- | ===== Problème avec la touche "espace" ===== | + | |
- | + | ||
- | + | ||
- | == 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 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 [[:tutoriel:comment_editer_un_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) | + | |
- | + | ||
- | == Sous Ubuntu 8.10 KDE4 == | + | |
- | Sous Intrepid Ibex (méthode testée sous kde4): | ||
- | Dans le fichier **xorg.conf**: dans la **Section "InputDevice"** | ||
- | remplacer la ligne <code>Option "XkbVariant" "oss"</code> | ||
- | par <code>Option "XkbVariant" "latin9"</code> | ||
- | et ajouter la ligne <code>Option "XkbOptions" "nbsp:none"</code> | ||
- | 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: | ||
- | <code> | ||
- | Section "InputDevice" | ||
- | Identifier "Generic Keyboard" | ||
- | Driver "kbd" | ||
- | Option "XkbRules" "xorg" | ||
- | Option "XkbModel" "pc105" | ||
- | Option "XkbLayout" "fr" | ||
- | Option "XkbVariant" "latin9" | ||
- | Option "XkbOptions" "nbsp:none" | ||
- | EndSection | ||
- | </code> | ||
- | Il ne vous reste plus qu'à redémarrer Xorg à l'aide des touches Ctrl+Alt+Backspace. | ||
- | <note> | + | Tout d'abord, rendez vous sur [[https://translations.launchpad.net/codeblocks/trunk/+pots/codeblocks|le Launchpad de code:blocks]] |
- | Dans certains cas, cela ne marche pas. Il faut alors désactiver le plugin Code Completion dans CodeBlocks</note> | + | |
- | ** | + | |
- | Désactivation du plugin Code Completion:** \\ | + | |
- | Plugins -> Manage Plugins puis sélectionnez Code Completion et cliquez sur le bouton Disable | + | |
- | <note> | + | Connectez-vous ou créez un compte. |
- | Ces solutions ont l'avantage de ne rien modifier dans le xorg.</note> | + | |
+ | Sélectionnez la langue française (cliquez sur "french") et téléchargez la traduction (cliquez sur "Download translation") | ||
+ | Dans format choisir "MO format" puis demander le téléchargement (cliquez sur "Request Download"). | ||
+ | Vous devriez recevoir rapidement un mail avec un lien pour télécharger le fichier "fr_LC_MESSAGES_codeblocks.mo" | ||
+ | Il faut alors créer le dossier qui accueillera la traduction: | ||
+ | <code>sudo mkdir -p /usr/share/codeblocks/locale/fr_FR</code> | ||
- | ===== Compiler le C++ avec Code::blocks ===== | + | Puis copier la traduction dans le dossier créé : |
- | Pour cela vous devez installer ce paquet supplémentaire: [[apt://build-essential|{{apt.png}}]]. | + | <code>sudo cp Téléchargements/fr_LC_MESSAGES_codeblocks.mo /usr/share/codeblocks/locale/fr_FR/</code> |
+ | Enfin il faut donner le droit aux utilisateurs de la machine de lire le fichier: | ||
+ | <code>sudo chmod +r /usr/share/codeblocks/locale/fr_FR/fr_LC_MESSAGES_codeblocks.mo</code> | ||
- | ===== Code::blocks en français ===== | + | Maintenant que notre fichier est en place il faut relancer Code::Blocks puis aller dans le menu: |
+ | Settings -> Environment -> View, cochez la case "Internationalization" et sélectionner "French" | ||
- | Merci à bwoharf pour cette information : | + | N'oublier pas de quitter le menu en cliquant sur valider, puis relancer Code::Blocks |
- | [[http://forum.ubuntu-fr.org/viewtopic.php?pid=2455575#p2455575|Voir le message sur le forum Ubuntu fr]] | + | Maintenant votre Code::Blocks est en français ;-) |
- | Dans Setting -> Environment -> View, cochez la case Internationalization et sélectionner French. | + | ===== Utilisation ===== |
+ | Lancez l'application comme indiqué [[:tutoriel:comment_lancer_application|ici]] ou via le [[:terminal]] (toutes [[:versions]] ou [[:variantes]] d'Ubuntu) avec la [[:commande_shell|commande]] suivante : <code>codeblocks</code> | ||
+ | |||
+ | ==== Compiler le C++ avec Code::blocks ==== | ||
+ | Pour cela vous devez installer ce paquet supplémentaire: [[apt>build-essential|build-essential]]. | ||
+ | ===== Problèmes ===== | ||
+ | ====Plantage et instabilité sous Ubuntu 16.04==== | ||
+ | Il faut aller dans Settings->Editor...->Code completion (à gauche en bas)->Symbols browser (onglet) et mettre une coche dans la case Disable symbols browser. | ||
- | ==== Autres Solutions ==== | + | pour la nouvelle version : |
+ | Settings -> Editor -> en bas du menus déroulant a gauche "Code completion" -> onglet "Symbols browser" -> une coche dans la case "disable symbole browser" | ||
+ | ==== Format d'un point d'arrêt non reconnu lors du déboggage ==== | ||
- | <note tip>Un paquet tout prêt disponible pour i386 et amd64, installable depuis le dépôt du site de [[http://lgp203.free.fr/|pasgui]] : [[apt://codeblocks-fr|{{apt.png}}]]. | + | Un caractère dans un nom de répertoire peut causer ce problème : |
- | Voir [[http://doc.ubuntu-fr.org/code_blocks#par_depot_a_partir_du_build_4405|plus haut]] pour ajouter le dépôt. | + | * **/home/user/C:B** : Le caractère ":" |
- | </note> | + | |
+ | ==== Voir aussi ==== | ||
+ | * [[http://www.codeblocks.org/|Codeblocks site officiel]] | ||
+ | * [[wpfr>C++| Wikipedia langage C++]] | ||
+ | * [[wpfr>C_(langage) |Wikipedia langage C ]] | ||
---- | ---- | ||
- | //Contributeurs: ..., Vinc14, [[utilisateurs:Nementon]].// | + | //Contributeurs: ..., Vinc14, [[utilisateurs:Nementon]], |
+ | tintou, [[:utilisateurs: Lifala]], [[:utilisateurs: albanmartel]],.// |