Si vous souhaitez utiliser uniquement Code::Blocks pour développer et compiler un programme utilisant la bibliothèque Qt (signaux et slots personnalisés compris), ce tutoriel est fait pour vous ! Celui-ci vous apprendra à installer et configurer le plugin
QtWorkbench, et vous expliquera comment configurer un nouveau projet utilisant ce plugin.
Ce tutoriel a été réalisé pour les utilisateur de Windows, cependant Code::Blocks étant une application
cross-platform, il n'y a pas de raisons que cela ne soit pas compatible avec les autres plateformes, mais je ne garantis pas que cela fonctionnera, à vous de tester ça ! Et vous pouvez bien sûr utiliser les commentaires dece tuto pour nous indiquer si cela a fonctionné ou non.
Pour pouvoir comprendre ce tutoriel, vous devrez au préalable avoir installé Qt, MinGW, et savoir installer une Nighty Build de Code::Blocks.
Si vous ne savez pas, ne vous inquiétez pas et empressez vous d'aller lire l'indispensable tutoriel
Installez et maîtrisez à fond Code::Blocks ! de
Nesquik69 &
Xaviou (que je remercie au passage !), ou encore le très populaire cours sur le C++ de
M@teo21 (qu'on ne remerciera jamais assez

) !
Et avant de débuter ce tutoriel, je tiens aussi à remercier
y.pagles pour le développement de ce plugin (Dont la page du projet est disponible
ici).
Téléchargement des fichiers
Tout d'abord, il va vous falloir installer la
Nighty Build 5382 de Codeblocks (car c'est la dernière version compatible avec le plugin). Si le lien est mort, cherchez la version dans la
liste des NB du forum.
Ensuite, il vous faudra télécharger la dernière version du
plugin QtWorkbench car celui-ci n'est pas présent par défault dans Code::Blocks (Téléchargez le fichier se terminant par l'extension '
cbplugin').
Installation du plugin
Cette opération permet d'intégrer le plugin à l'environnement de Code::Blocks.
Cette manipulation ne nécessite normalement pas le redémarrage de Code::Blocks.
Lancez Code::Blocks, allez dans le menu
Plugins -> Manage plugins.
Cliquez sur le bouton
Install new et allez chercher le plugin téléchargé précédemment.
Configuration des variables globales
Nous configurons ici le répertoire d'installation de Qt dans Code::Blocks afin que ce dernier sache où Qt a été installé et que l'on n'ait pas à le redéfinir ultérieurement.
Il s'agit tout simplement d'indiquer à Code::Blocks où est installé Qt et où chercher les fichier de configuration de compilation mkspecs.
Allez dans le menu
Settings -> Global variables.
Si la variable globale
qt4 n'existe pas, créez la.
Le champ
base permet d'indiquer le répertoire d'installation de Qt (
C:\Qt\4.5.0 si vous avez installé Qt par défaut).
La seconde manipulation consistera à spécifier les champs
User-defined fields.
Dans la première colonne indiquez
mkspecs.
Dans la seconde colonne, indiquez
$(#qt4)/mkspecs.
Configuration du plugin
QtWorkbench nécessite aussi que l'on spécifie le répertoire d'installation de Qt, ainsi que le répertoire de configuration du compilateur.
Nous allons utiliser la variable globale créée précédemment dans Code::Blocks.
Rendez vous dans le menu
Settings -> Environment.
Sélectionnez
Qt Workbench dans la liste déroulante.
Dans la boîte de dialogue
Qt Installation Directory, indiquez
$(#qt4).
Dans la boîte de dialogue
Make Specifications Directory, indiquez
$(#qt4.mkspecs).
La dernière option vous permet de sélectionner le compilateur de votre choix. Il est recommandé de laisser
default.
Le contenu des manipulations de ce chapitre devront être ré-itérées à chaque nouveau projet.
Création du projet
Afin de pouvoir utiliser le plugin QtWorkbench, nous allons commencer par créer un projet vide.
Allez dans le menu
File -> New -> Project.
Sélectionnez
Empty Project et cliquez sur
Go.
Cliquez sur
Next.
Choisissez le nom de votre projet et son répertoire, puis cliquez sur
Next.
Choisissez les cibles
Debug et
Release (si vous ne savez pas paramétrer ces options, laissez par défaut, cela convient dans la plupart des cas).
Cliquez enfin sur
Finish.
Configuration du projet
Options générales du projet
Ce projet vide doit maintenant être configuré.
Allez dans le menu
Project -> Properties.
Indiquons à Code::Blocks que le Makefile sera généré indépendamment de MinGW.
Dans l'onglet
Project Settings, cochez la case
This is a custom Makefile.
Afin de développer plus aisément, nous allons indiquer à Code::Blocks où chercher les fichiers contenant les descriptions des objets de Qt afin qu'il accepte l'auto-compétion (Ceci n'est pas obligatoire mais très recommandé).
Dans l'onglet
C/C++ parser options, ajoutez les cibles des différents modules Qt que vous souhaitez utiliser dans votre projet, sans oublier d'utiliser la variable globale de Qt !
Pour une application utilisant QtCore et QtGui, renseignez :
Code : Autre1
2
3
| $(#qt4.include)
$(#qt4.include)/QtCore
$(#qt4.include)/QtGui |
La modification de cet onglet nécessite un redémarrage de Code::Blocks.
Indiquons à notre projet d'utiliser le groupe de variables d'environnement qui contient celle de Qt (dans le cas où vous en avez plusieurs).
Dans l'onglet
EnvVars options, cochez
Select environment variables set to be applied et sélectionnez la variable d'environnement dans laquelle est enregistrée la variable globale de Qt. Par défaut, cela devrait être
default.
Cliquez enfin sur
OK pour valider les modifications effectuées.
Options des cibles de construction
Et hop, on retourne dans le Menu
Project -> Properties.
Non, non je ne vous fait pas tourner en rond, mais courage, on approche de la fin !
Je vais vous détailler les manipulations pour la cible de construction Release, vous devrez donc refaire les manipulations suivantes pour chaque cible de construction supplémentaire de votre projet !
Il vous faudra bien sûr adapter les options de la cible de construction en fonction de celle-ci.
Si vous souhaitez utiliser Qt pour créer une interface graphique, faites la manipulation suivante :
Dans l'onglet
Build targets, sélectionnez la cible de construction
Release et changez le
Type d'application pour
GUI Application.
Nous allons maintenant indiquer à Code::Blocks comment créer (build) l'exécutable du projet et comment nettoyer (clean) les répertoires contenant les fichiers temporaires de compilation.
Dans ce même onglet
Build targets, vérifiez que la cible de construction
Release est toujours sélectionnée et cliquez sur le bouton
Build options.
Dans la nouvelle fenêtre qui s'affiche, allez dans l'onglet
"Make" Commands.
Changez les valeurs des champs par les suivantes :
- Build project/target :
$make -f $makefile.$target
- Compile single file :
$make -f $makefile $file
- Clean project/target :
$make -f $makefile.$target clean
- Dist-clean project/target :
$make -f $makefile.$target distclean
Cliquez sur
OK pour valider les paramètres.
Nous allons enfin configurer QtWorkbench pour chaque cible de construction. Adaptez les options en fonction des besoins de votre projet. Pour une application classique utilisant une interface graphique, je vais utiliser les modules Core et Gui de Qt.
Dans l'onglet
Qt Workbench, Commencez par cocher l'option
This project uses QtWorkbench.
Si vous ne voyez pas toutes les options de cet onglet, aggrandissez la fenêtre vers le bas, et toutes les options devraient alors apparaître !
Cochez les options
Release, Qt, Core et Gui.
Vous devrez bien sûr adapter ces options en fonction de votre projet (je pense notamment à cocher
Debug lorsque vous configurerez les options de cette cible).
Il reste 3 champs à configurer :
- Pour le champ
moc files, indiquez
mocs.
- Pour le champ
uic files, indiquez
uics.
- Pour le champ
rcc files, indiquez
rccs.
Bien sûr, pour la cible de construction
Debug, il vous faudra cocher
Debug et
Console (Si vous voulez la console) au lieu de
Release.
Compilation du projet
Je pense que personne ne me contredira si je vous dit que c'est la partie la plus plaisante du tutoriel. La manipulation est simple : sélectionnez la cible de construction adéquate et appuyez sur le bouton
Build and Run.
Une dernière indication, il vous faudra mettre les dll nécessaires dans le même dossier que celui de l'exécutable compilé car on ne compile plus avec la console Qt (Vous devriez trouver les dll requises dans le dossier "bin" du répertoire d'installation de Qt (voire de MinGW)).