Prise en main d'un environnement de développement
Installation des outils | Prise en main de QtCreator | Fonctions de base de QtCreator | FAQ (questions fréquentes) |
Installation des outils
La réalisation de programmes simples et de petits projets en C++ nécessite l'usage:
- d'un compilateur C++;
- d'un éditeur ou EDI (Environnement de développement intégré), nous suggérons l'usage de l'environnement QTCreator (ou à défaut le simple éditeur Geany);
- et d'un outil de construction/compilation de projet (nous utiliserons CMake pour le mini-projet en fin de semestre).
Cette section décrit les procédures d'installation utiles si vous travaillez sur vos propres machines. A notez qu'il existe d'autres façon de travailler sur vos machines personnelles, comme décrit ici (par exemple via la connexion à distance, voir le point 2 sous "Travail dans l'environnement de l'EPFL") ). Si vous travaillez sur les machines de l'EPFL, l'environnement est déjà installé et il n'y a rien à faire en terme d'installation.
- L'installation de QTCreator peut s'avérer assez complexe, surtout si l'on veux l'employer conjointement avec les outils nécessaires à la réalisation du projet du second semestre (librairie graphique SFML). Vous pouvez vous contenter dans un premier temps d'utiliser la version de QtCreator disponible sur les machines EPFL (y compris en connection à distance depuis votre machine). Vous pouvez aussi vous contenter pour commencer d'installer et de travailler avec un simple éditeur comme l'outil Geany dont les modalités d'installation sont aussi décrite dans les tutoriels fournis ci-dessous.
- Les procédures d'installation décrites ci-dessous peuvent varier parfois selon les versions d'OS que vous utilisez. Vos retours d'expérience et commentaires sont bienvenus sur le forum Ed du cours (sous la rubrique «Installations ..»).
- L'installation de la librarire graphique SFML n'est pas nécessaire pour le semestre d'automne (mais vous pouvez si vous le voulez déjà l'installer en vue du semestre prochain).
- Pour Linux:
- Pour Windows
- Pour Mac Os
QtCreator : guide d'utilisation de base
Ce petit guide vous permettra de commencer à utiliser QtCreator comme outil de développement de code C++. Deux cas de figures sont évoqués:
- le développement d'un programme simple (n'utilisant qu'un seul fichier)
- le développement d'un projet complet, comme celui proposé dans le cadre de ce cours à la fin du semestre, et pour lequel nous utiliserons un outil de compilation particulier appelé CMake.
Développement d'un programme simple (sur un seul fichier):
Si vous utilisez QtCreator pour écrire du code C++, tout programme doit être inclus dans ce que l'on appelle un «projet» (sans quoi vous ne pourrez ni le compiler ni l'exécuter).
- Lancez la création du projet :
- Choisissez un nom de votre choix pour le projet dans lequel vous voulez placer votre programme ainsi que le répertoire dans lequel sera stocké ce projet:
-
Choisissez cmake comme outil de compilation:
- (Variante Linux) Sélectionnez directement Next à l'étape suivante (prenez le kit par défaut)):
- (Variante Windows/MacOs) Sélectionnez le kit correspondant à la version du compilateur choisi lors de l'installation de QtCreator (l'exemple ci-dessous est pour Windows):
-
Sélectionnez Finish:
Vous disposez alors d'un premier exemple de programme pre-rempli, que vous pouvez compiler en cliquant sur le petit marteau en bas à gauche de la fenêtre:
L'onglet «Issues» ou celui «Compile Output» permettent de voir les résultats de la compilation (dans cet exemple, la compilation a été faite avec le compilateur clang).
Note: si vous êtes sur votre propre machine et que la compilation ne se fait pas sur cet exemple simple, il faut vérifier que vous avez bien installé un compilateur C++ (comme montré dans la section précédente).
S'il y a des erreurs de compilation dans un programme, c'est dans la fenêtre «Issues» et «Compile output» qu'elles apparaitront. Il suffit de faire un clic droit avec la souris sur la ligne du message d'erreur pour que le curseur soit placé à la ligne fautive correspondante dans le fichier source:
Pour vérifier que tout est en ordre avec votre installation, remplacez le contenu du programme principal main.cpp par ceci:
#include <iostream> #include <vector> int main() { std::vector<std::vector<double>> matrice { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; std::cout << "Bonjour, voici une matrice:" << std::endl; for (auto element : matrice) { for (auto val : element) { std::cout << val << " "; } std::cout << std::endl; } std::cout << std::endl; return 0; }
Compilez ensuite en cliquant à nouveau sur le petit marteau. Si votre installation du compilateur s'est faite correctement, vous devriez passer l'étape de la compilation avec succès.
Pour exécuter, cliquez sur la petite flèche verte en bas de la fenêtre:
Vous devriez voir s'ouvir une fenêtre avec le résultat de l'exécution.
1 2 3 4 5 6 7 8 9
Renommage du fichier main (optionnel)
Si vous souhaitez renommer le fichier main.cpp, utilisez File > Save main.cpp as .... Choisisez un nom de votre choix. Un message de mise en garde vous alertera que el fichier ne fait plus partie d'un projet. Pour intégrer ce fichier au projet, il suffit d'ouvrir le fichier CmakeLists.txt et remplacer main.cpp par le nom de votre choix:Sauvegardez ensuite le fichier CMakeLists.txt.
Développement d'un projet complet (avec du matériel CMake pre-existant) :
QtCreator permet d'intégrer des projets compilables avec l'utilitaire CMake. Pour ce faire, il suffit d'ouvrir un fichier particulier appelé CMakeLists.txt
Nous vous indiquons ici comment procéder sur un petit projet fourni en exemple.
Commencez par télécharger l'archive sfml_with_cmake.zip dans un répertoire de votre choix. Puis dezzipez-la:
- sous Linux ou MacOs : dans un terminal, au niveau du répertoire dans lequel se trouve l’archive, tapez la commande unzip sfml_with_cmake.zip
- sous Windows (>=7) : ouvrez l'archive depuis l’explorateur de fichiers et faire un « drag & drop » du contenu vers le répertoire de votre choix.
Création du projet
Il s'agit maintenant de créer le projet dans l'environnement de développement QtCreator. Nous supposerons dans ce qui suit que le matériel fourni pour le projet se trouve dans le répertoire /sfmlCmake.
- ouvrez QtCreator
- dans QtCreator
File > Open File or Project
et sélectionnez le fichier appelé CMakeLists.txt dans le dossier src/ du répertoire du projet: - dans la fenêtre de configuration du projet qui apparaît alors, sélectionnez le kit correspondant à la version du compilateur choisi lors de l'installation de QtCreator (sous Linux, par défaut desktop); voici un exemple de sélection du kit pour Windows:
- cliquez sur la flèche Details associée à votre kit de compilation
-
Décochez toutes les options à part Defaut (ou Debug si Defaut n'existe pas)
puis cliquez sur Configure project.
Notez que ce protocole fonctionne pour des versions de QtCreator >= 4.5. Pour des versions antérieures, le menu est un peu différent à cette étape et il faut cliquer sur un bouton Run Cmake au lieu de Configure project.
Le matériel nécessaire à la compilation du projet est alors automatiquement créé. Vous devriez voir des messages défiler dans la fenêtre General messages et le processus devrait se terminer par le message « CMake Project was parsed successfully »:
- pour pouvoir naviguer de façon plus simple dans le matériel de votre projet, cliquez sur la petite flèche dans l'onglet Project
et sélectionnez l'option File system dans le menu qui s'affiche; puis Computer > TEST_SFML_WITH_CMAKE. Vous devriez alors avoir la vue suivante sur le contenu de votre projet: - procédez enfin à quelques petits réglages de base dans QtCreator qui vous permettront de travailler dans les conditions attendues pour le projet
Tools > Options > C++ > File Naming
ou sous MacOS:Qt Creator > Preferences > C++ > File Naming
choisissez alors hpp comme suffixe pour les fichiers d'entêtes (au lieu de h) et cpp comme suffixe pour les fichiers de définition. Décochez également la case «Lower case file names» afin de permettre d'avoir des noms de fichiers contenant des majuscules. - lancez la compilation en cliquant sur le petit marteau en bas à gauche;
cela devrait produire la sortie suivante dans la fenêtre Compile output:
- Pour lancez l'exécution, commencez par choisir la cible voulue (le matériel CMake fourni permet de générer trois exécutables différent ici: mandlebrot, vonkoch1 ou vonkoch2):
Cliquez ensuite sur la petite flèche verte en bas à gauche et vous devriez voir s'exécuter la cible choisie. La mise en place de votre projet se fera selon des modalités analogues.Modalités générales d'utilisation de Qt Creator
Quelques indications générales vous sont données ci-dessous pour le développement de projets y compris pour ceux compilables avec Cmake. Il ne s'agit ici que de quelques aspects fondamentaux seulement utiles si vous découvrez QtCreator. Pour une documentation plus poussée sur cet environnement de développement, se référer à la documentation officielle (https://doc.qt.io/qtcreator/index.html)
Reconstruction du projet
En principe, les outils de compilation séparée comme Cmake ne recompilent que ce qui est nécessaire suite aux dernières modifications dans le projet. Il est cependant parfois utile de relancer le processus de compilation/construction («build») en entier. Pour cela, faites simplement:
Build > Rebuild project «nom du projet»
Sélection du projet actif
Vous pouvez évidemment avoir plusieurs projets ouverts en même temps dans QtCreator. Pour sélectionner celui sur lequel vous voulez travailler à un moment donné, cliquez sur le bouton Projects sur le bandeau latéral à gauche et sélectionnez le nom du projet sous «Active Project».
Fermeture d'un projet
Lorsque vous voulez cesser de travailler sur un projet, faites simplement:File > Close «nom du projet»
A noter que cela ne supprime pas les fichiers sur le disque.Ajout/suppression de fichiers de nouveaux fichiers
Pour les projets configurés à partir d'un fichier CMakeLists.txt l'ajout et la suppression de fichiers nécessite d'exécuter des procédures particulières. Ces procédures permettent de mettre à jour le matériel de compilation.- Pour l'ajout d'un nouveau fichier:
- File> New file or Project.
- Choisissez «C++ Source File» ou «C++ Header File» (selon que vous souhaitez coder un fichier de définition ou un fichier d'entête).
- Stockez ce fichier dans le répertoire du projet et veillez à sélectionner l'option None dans la fenêtre "Project Management" lorsqu'elle s'ouvrira:
Alternativement, vous pouvez créer les deux fichiers entête et définition en choisissant l'option «C++ Class».
- Exécutez Build> Run CMake pour que ce fichier puisse être pris en compte à la prochaine compilation.
- Pour la suppression/renommage d'un fichier: supprimez ou renommez le fichier dans le répertoire du projet avec les outils propres à votre système d'exploitation puis exécutez la commande Build > Run CMake
Exécution des commandes de compilation en mode «verbeux»
Il peut être utile de savoir occasionnellement quelle commande de compilation est utilisée exactement lors de la construction («build») du projet. Cela permet de savoir quel compilateur est utilisé et avec quelles options. On peut demander pour cela à QtCreator d'exécuter la compilation en mode «verbeux».
Pour cela cliquez sur le bouton Projects sur le bandeau latéral à gauche. Sous la rubrique Cmake, cliquez sur Add > Boolean. Un nouveau champs apparaît avec pour nom <Unset> et pour valeur «off». Editez le champs <Unset> et écrivez à la place CMAKE_VERBOSE_MAKEFILE. Cliquez ensuite sur le champ valeur pour le mettre à «on». Terminez en cliquant sur le bouton Apply Configuration Changes. Lors de la prochaine compilation, vous verrez s'afficher sous l'onglet «Compilation output» le détail des commandes utilisées.
FAQ (Questions fréquentes)
Evitez impérativement les accents, caractères spéciaux et espaces dans les noms de fichiers ou de répertoires où vous stockez vos projets. Si sous l'onglet "Issues/Problèmes" il y a des mises en garde lors de la compilation ou si le debugger ne fonctionne pas proprement, essayez de recréer le projet :- en le plaçant dans un dossier où vous êtes sûr.e d'avoir les droits d'accès ou d'exécution;
- en assurant que l'accès vers votre projet ne comporte pas de caractères spéciaux ni d'espaces;
- en veillant à ce que le dossier build soit dans le même dossier de projet et au même niveau que le dossier src lors de la configuration du projet (tel qu'indiqué dans le tutoriel ci-dessus);
- et en ne gardant que la perspective Debug ou Default lors de la configuration du projet.
Cette section sera enrichie au fur et à mesure que des questions se présentent. N'hésitez pas à nous solliciter sur le forum Piazza du cours pour les questions techniques relatives à l'utilisation de QTCreator. Nous ferons de notre mieux pour y apporter rapidement des réponses et enrichir cette liste.- Comment créer un simple fichier texte dans l'éditeur
- Comment désactiver les «warnings» en ligne dans l'éditeur
- Comment saisir des valeurs d'input dans QtCreator
- Comment passer des arguments en ligne de commande
- Comment agrandir la taille des fontes de l'éditeur de QtCreator
- Comment agrandir la taille des fontes et boutons de QtCreator
- Comment spécifier plusieurs cibles de compilation avec cmake
Comment créer un simple fichier texte dans QtCreator
File x > New File or Project
Comment désactiver les «warnings» en ligne dans l'éditeur
Dans certaines versions récentes de QtCreator, les mises en garde du compilateur («warning») s'affichent dans l'éditeur au fur et à mesure de la rédaction du code:
Il est toujours bon de tenir compte des mises en garde, mais si cela vous gêne pendant la rédaction, vous pouvez désactiver cette option avec: Tools > Options > Display
puis décocher l'option «Annotations next to line»Comment saisir des valeurs d'input dans QtCreator
Dans les programmes nécessitant de faire une entrée clavier (lecture via cin), QtCreator lance une console (terminal) dans lequel réaliser la saisie. Si une telle console ne s'affiche pas, vérifiez que dans
Projects > Run
l'option «Run un terminal» est bien cochée. A noter qu'il est possible de configurer le chemin utilisé par QTCreator pour trouver le terminal:Options... > Environment > System > Terminal
(voir ceci en complément si nécessaire)Comment agrandir la taille des fontes de l'éditeur de QtCreator
pour configurer l'éditeur (couleur du fond d'écran, taille des fontes etc.):
Tools > Options >Text Editor > Font & Colors
la taille des fontes se spécifie sous «Size».Comment passer des arguments en ligne de commande QtCreator
Si l'on souhaite passer des arguments au programme principal (en ligne de commande), faut aller sur «project» (avec la petite pince sur le bandeau latéral gauche) et saisir les arguments dans le champs «Command line arguments» :
Comment agrandir la taille des fontes et boutons de QtCreator
Sur certaines installations, il arrive que l'interface graphique de QtCreator apparaîssent avec des fontes et des boutons trop petits. Ce problème et les solutions qui s'y rapportent sont discutés ici. Nous avons testé la solution suggérée sous Windows (où le problème semble le plus fréquent) et elle semble fonctionner: il faut donc créer un fichier texte, par exemple scaled.txt , puis y écrire :
@echo off set QT_SCALE_FACTOR=2 C:\Qt\Tools\QtCreator\bin\qtcreator.exe
Le chemin doit bien sûr être adapté si vous n'avez pas placé QtCreator a l'endroit par défaut. Ensuite il faut renommer le fichier en scaled.cmd et lancer ce scripts à chaque fois que l'on souhaite lancer Qtcreator en version augmentée. Le grossissement *2 est à adapter selon vos besoins. Libre à vous de jouer avec le «scale factor» pour avoir la taille souhaitée. A noter que le script met alors un peu de temps a lancer l'IDE, il faut attendre environ 5-6 secondes.
Comment spécifier plusieurs cibles de compilation avec cmake
Le tutoriel mis à disposition pour les projets avec un seul fichier est conçu dans l'optique de n'avoir justement qu'un seul fichier. Il est cependant possible d'avoir dans un même projet plusieurs fichiers exécutables (contenant un bloc main). Pour ce faire, il suffit d'ajouter une ligne au fichier CMakeLists.txt (ici le fichier test.cpp aura été au préalable créé et est supposé contenir un bloc main):
On peut ensuite sélectionner la cible que l'on veut exécuter au moyen du bouton "petit écran" sur la barre latérale gauche.
Nous étudierons plus en détail le fonctionnement de CMake comme outil de construction de projet au second semestre.
Retour à la série
Dernière mise à jour : 2023/09/13 18:01:12
- Pour l'ajout d'un nouveau fichier: