ELCa11 - Tuto : créer un projet C++ avec Qt Creator¶
Objectifs¶
- Créer un nouveau projet C++ dans Qt Creator (sans dépendance Qt graphique).
- Comprendre à quoi sert le fichier
.pro(qmake). - Compiler et exécuter votre programme.
- Adopter la stratégie un projet par exercice pour les BEs.
Prérequis¶
- Qt Creator installé (voir tuto précédent).
Pourquoi Qt ?¶
Qt est un framework C++ multi-plateforme (Windows, macOS, Linux). Il fournit non seulement une bibliothèque graphique (boutons, fenêtres, QML), mais aussi des conteneurs, des outils de réseau, de threads, de sérialisation, etc. Il est utilisé par de nombreux logiciels grand public (KDE, VLC, Mathematica, OBS Studio, Telegram, …).
Pour ce cours, on l’utilise pour deux raisons :
- son IDE Qt Creator est un bon environnement C++ ;
- son module graphique Qt/QML servira pour le projet.
Pour les BEs (TD 1 à 4), on n’utilisera pas la partie graphique de Qt — uniquement du C++ standard. Le projet créé est de type Plain C++ Application : un projet C++ vanille qui n’inclut pas les bibliothèques Qt.
Étape 1 — Créer un projet Plain C++ Application¶
- Lancer Qt Creator.
- Menu
File>New Project…. - Dans la colonne Project, choisir
Non-Qt Project>Plain C++ Application> Choose…. - Renseigner :
- le nom du projet (par exemple
BE1,BE2-DamierStat, etc. — un nom clair par exercice) ; - le répertoire où il sera créé.
- le nom du projet (par exemple
- Choisir le système de build
qmake(génère un fichier.pro). - Sélectionner le kit auto-détecté (
Desktop Qt 6.x.y …). - Valider les écrans suivants en gardant les options par défaut, puis Finish.
Qt Creator crée le projet et affiche son contenu dans la barre latérale gauche, qui contient :
- un fichier
main.cppavec un programme minimal généré ; - un fichier
<NomDuProjet>.pro(le fichier projet qmake).
Étape 2 — À quoi sert le fichier .pro ?¶
Le .pro est un fichier de configuration lu par l’outil qmake. Il décrit le projet : quels fichiers compiler, en quel C++, avec quelles dépendances. Pour un Plain C++ Application, son contenu ressemble à :
Quelques mots-clés :
TEMPLATE = app: on construit une application exécutable.CONFIG += c++17: on demande la compilation en C++17 (cohérent avec ce qui est attendu dans les BEs).CONFIG -= qt: on n’inclut pas les bibliothèques Qt (projet C++ vanille).SOURCES/HEADERS: la liste des fichiers.cppet.hdu projet.
En pratique, vous n’aurez pas à éditer ce fichier à la main : Qt Creator l’alimente automatiquement quand vous ajoutez ou retirez des fichiers via l’interface (clic droit sur le projet > Add Existing Files… ou Add New…).
Étape 3 — Écrire votre code¶
Cliquer sur main.cpp dans la barre latérale pour l’éditer. Remplacer le contenu par le programme demandé dans le BE.
Astuce — aide contextuelle : positionner le curseur sur le nom d’une fonction ou d’une classe (par exemple
std::vector), puis appuyer surF1. La documentation correspondante s’ouvre dans le panneau de droite.
Étape 4 — Compiler et exécuter¶
Cliquer sur le bouton ▶ vert en bas à gauche, ou utiliser le raccourci Ctrl+R (Windows / Linux) ou Cmd+R (macOS).
Si la compilation réussit, le programme s’exécute et sa sortie apparaît dans le panneau Application Output (en bas).
En cas d’erreur, regarder l’onglet Issues : Qt Creator y liste les messages du compilateur, avec un clic qui amène directement à la ligne fautive.
Étape 5 — Plusieurs exercices : un projet par exercice¶
Au cours d’un BE, vous écrirez plusieurs programmes (un par exercice ou par séquence). La méthode la plus simple et la plus propre est de créer un nouveau projet pour chacun.
Ainsi, chaque exercice :
- a son propre
main.cpp; - garde son propre fichier
.pro; - peut être recompilé sans interférer avec les autres ;
- conserve son historique pour comparer ou y revenir plus tard.
Une bonne convention de nommage : BE1-Seq1, BE1-Seq2, …, BE2-DamierStat, BE2-DamierDyn, etc. Les projets peuvent tous coexister dans le même répertoire parent.
Pourquoi pas un seul projet pour tout le BE ? Un projet ne peut contenir qu’un seul fichier avec une fonction
main(). Si vous mettez plusieursmain()dans le même projet, le linker se plaindra. Multiplier les projets est plus simple que de manipuler les fichiers à chaque exercice.