Ce guide vous emmène de zéro à l'application qui s'ouvre sur votre écran, même si vous n'avez jamais compilé un programme. Il couvre Windows, Linux et Raspberry Pi.
Spoiler : sous Linux et Raspberry Pi, l'installation des outils tient en une seule commande et la première compilation est souvent plus rapide que sous Windows. « Compiler soi-même » n'est pas réservé aux experts, et ce n'est pas plus compliqué sur Linux - au contraire.
Si vous voulez juste utiliser l'application une fois compilée, filez au mode d'emploi.
Un programme C++ n'est pas livré « prêt à double-cliquer » depuis le code source : il faut le compiler, c'est-à-dire transformer le code en exécutable. Pour cela il faut trois choses, quel que soit l'OS :
- un compilateur C++ (traduit le code en programme) ;
- CMake + Ninja (organisent et lancent la compilation) ;
- la bibliothèque Qt 6 (l'interface graphique) et nlohmann-json (lecture des fichiers de données).
Puis, toujours les mêmes deux commandes :
cmake --preset <nom> # prépare la compilation
cmake --build --preset <nom> # compile<nom> vaut mingw (Windows), linux (PC Linux) ou linux-arm64 (Raspberry
Pi). C'est tout. Voyons chaque OS.
Il faut git (l'outil qui télécharge le dépôt). Installez-le si besoin (voir chaque section ci-dessous), puis :
git clone https://github.com/morfredus/ComponentHub.git ComponentHub
cd ComponentHubVous êtes maintenant dans le dossier du projet. Toutes les commandes qui suivent se lancent depuis ce dossier.
Testé sur Debian / Ubuntu / Linux Mint. Ouvrez un terminal.
sudo apt update
sudo apt install git cmake ninja-build g++ qt6-base-dev nlohmann-json3-devC'est tout. Vous avez le compilateur, CMake, Ninja, Qt 6 et nlohmann-json.
git clone https://github.com/morfredus/ComponentHub.git ComponentHub
cd ComponentHubcmake --preset linux
cmake --build --preset linux./build/ComponentHubLa fenêtre s'ouvre. 🎉 Voilà : de rien à l'application, en quatre commandes.
Exactement la même chose que sous Linux, avec un preset différent. Utilisez
un Raspberry Pi OS 64 bits (uname -m doit afficher aarch64).
sudo apt update
sudo apt install git cmake ninja-build g++ qt6-base-dev nlohmann-json3-dev
git clone https://github.com/morfredus/ComponentHub.git ComponentHub
cd ComponentHub
cmake --preset linux-arm64
cmake --build --preset linux-arm64
./build-arm64/ComponentHubLa compilation est un peu plus longue sur un Pi (processeur plus modeste), mais la démarche est identique. Le même code, la même application, sur un ordinateur à quelques dizaines d'euros.
Sous Windows, il n'y a pas de gestionnaire de paquets intégré comme apt : on
installe MSYS2, qui en fournit un (pacman). Quelques étapes de plus, donc,
mais rien de difficile.
Téléchargez et installez MSYS2 depuis https://www.msys2.org (bouton
d'installation en haut de la page, gardez le dossier par défaut C:\msys64).
Dans le menu Démarrer, lancez « MSYS2 MINGW64 » (bien la variante MINGW64, pas MSYS ni UCRT64). Une fenêtre de terminal s'ouvre.
pacman -S --needed git \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-cmake \
mingw-w64-x86_64-ninja \
mingw-w64-x86_64-qt6-base \
mingw-w64-x86_64-nlohmann-jsonRépondez « oui » (Entrée) aux questions d'installation.
git clone https://github.com/morfredus/ComponentHub.git ComponentHub
cd ComponentHub
cmake --preset mingw
cmake --build --preset mingw./build-mingw/ComponentHub.exeLes DLL de Qt et de MinGW nécessaires sont copiées automatiquement à côté de
l'exécutable par la compilation : vous pouvez double-cliquer sur
build-mingw\ComponentHub.exe depuis l'Explorateur Windows.
Astuce VS Code (Windows) : le dépôt fournit des tâches prêtes à l'emploi (
.vscode/tasks.json) - CMake: Build (MinGW) et ComponentHub: Run - qui font les étapes 4 et 5 en un raccourci.
| Installer les outils | Compiler + lancer | |
|---|---|---|
| Linux / Raspberry Pi | 1 commande apt |
3 commandes |
| Windows | installer MSYS2 + 1 commande pacman |
3 commandes |
La seule étape « en plus » sous Windows est l'installation de MSYS2 (parce que Windows n'a pas de gestionnaire de paquets natif). Une fois cela fait, tout est identique. Et sur une machine correcte, la compilation sous Linux est généralement plus rapide. Bref : n'ayez aucune appréhension à essayer sous Linux, y compris sur un Raspberry Pi.
cmake : command not found(Linux) - l'installation des paquets a échoué, relancez l'apt installde l'étape 1 et lisez les messages.cmakeintrouvable (Windows) - vous n'êtes pas dans le terminal MSYS2 MINGW64, ou l'étapepacmana échoué. Rouvrez « MSYS2 MINGW64 » et recommencez l'étape 3.Could NOT find Qt6pendantcmake --preset- Qt n'est pas installé : vérifiezqt6-base-dev(Linux) oumingw-w64-x86_64-qt6-base(Windows).Could NOT find nlohmann_json- installeznlohmann-json3-dev(Linux) oumingw-w64-x86_64-nlohmann-json(Windows).- La fenêtre ne s'ouvre pas sous Linux (
could not load the Qt platform plugin "xcb") - installez la dépendance d'exécution :sudo apt install libxcb-cursor0. - Je veux repartir de zéro - supprimez le dossier de build
(
build/,build-arm64/oubuild-mingw/) et relancezcmake --preset ….
- Utiliser l'application : mode d'emploi.
- Fabriquer un paquet installable (
.deb, AppImage, ZIP Windows) et les détails multi-plateformes : BUILD_DESKTOP.md. - Comprendre le code pour le modifier : ARCHITECTURE.md et CONTRIBUTING.md.
Bienvenue - vous venez peut-être de compiler votre premier programme. 🙂