Compilation¶
Guide de compilation du projet R-Type avec les scripts fournis.
Build Rapide¶
# Configuration (première fois ou après changement CMakeLists)
./scripts/build.sh
# Compilation
./scripts/compile.sh
Prérequis¶
Avant de compiler, assurez-vous d'avoir les outils suivants installés :
| Outil | Version Minimum | Vérification |
|---|---|---|
| CMake | 3.30+ | cmake --version |
| Ninja | - | ninja --version |
| Clang | 15+ | clang++ --version |
| Git | - | git --version |
Script de Configuration : build.sh¶
Le script build.sh configure l'environnement de build complet.
Usage¶
Options¶
| Option | Description | Défaut |
|---|---|---|
--platform=linux |
Cible Linux | ✓ |
--platform=windows |
Cross-compilation Windows (MinGW) | |
--platform=macos |
Cible macOS |
Ce que fait le script¶
- Clone ou met à jour vcpkg dans
third_party/vcpkg/ - Bootstrap vcpkg
- Configure CMake avec les bons paramètres selon la plateforme
- Crée le dossier de build (
buildLinux/,buildWin/,buildMac/)
Exemples¶
# Build Linux (par défaut)
./scripts/build.sh
# Cross-compilation Windows
./scripts/build.sh --platform=windows
# macOS
./scripts/build.sh --platform=macos
Script de Compilation : compile.sh¶
Le script compile.sh compile le projet et peut lancer les exécutables.
Usage¶
Options¶
| Option | Description | Défaut |
|---|---|---|
--platform=PLATFORM |
linux, windows, macos | linux |
--server |
Lancer le serveur après compilation | ✓ |
--client |
Lancer le client après compilation | |
--both |
Lancer serveur + client | |
--no-launch |
Compiler sans lancer | |
--verbose, -v |
Afficher la sortie complète | |
--help, -h |
Afficher l'aide |
Exemples¶
# Compiler et lancer le serveur (par défaut)
./scripts/compile.sh
# Compiler et lancer le client
./scripts/compile.sh --client
# Compiler et lancer les deux
./scripts/compile.sh --both
# Compiler uniquement (pas de lancement)
./scripts/compile.sh --no-launch
# Voir toute la sortie de compilation
./scripts/compile.sh --verbose
Workflow Complet¶
Première Installation¶
# 1. Cloner le projet
git clone --recursive https://github.com/Pluenet-Killian/rtype.git
cd rtype
# 2. Configurer (installe vcpkg, configure CMake)
./scripts/build.sh
# 3. Compiler et lancer
./scripts/compile.sh
Développement Quotidien¶
# Recompiler après modifications
./scripts/compile.sh
# Ou compiler sans lancer
./scripts/compile.sh --no-launch
Après Modification de CMakeLists.txt¶
Plateformes Supportées¶
# Configuration
./scripts/build.sh --platform=linux
# Compilation
./scripts/compile.sh --platform=linux
- Compilateur : Clang++
- Dossier de build :
buildLinux/ - Artefacts :
./artifacts/server/linux/,./artifacts/client/linux/
# Configuration
./scripts/build.sh --platform=windows
# Compilation
./scripts/compile.sh --platform=windows --no-launch
- Compilateur : MinGW (x86_64-w64-mingw32-g++)
- Dossier de build :
buildWin/ - Artefacts :
./artifacts/server/windows/,./artifacts/client/windows/
Lancement automatique
Le lancement automatique n'est pas disponible pour Windows lors de la cross-compilation.
Structure des Artefacts¶
artifacts/
├── server/
│ ├── linux/
│ │ └── rtype_server
│ ├── windows/
│ │ └── rtype_server.exe
│ └── macos/
│ └── rtype_server
└── client/
├── linux/
│ └── rtype_client
├── windows/
│ └── rtype_client.exe
└── macos/
└── rtype_client
Lancement du Client¶
Important : Utilisez le script de lancement
Sur Linux avec PipeWire, le binaire client seul ne supporte pas le voice chat correctement. Utilisez toujours le script run-client.sh qui wrapper le binaire avec les bibliothèques audio nécessaires.
# RECOMMANDÉ : Via le script wrapper
./scripts/run-client.sh
# Avec un serveur distant
./scripts/run-client.sh --server=51.254.137.175
# NON RECOMMANDÉ : Binaire direct (voice chat peut ne pas fonctionner)
./artifacts/client/linux/rtype_client
Le script run-client.sh :
- Détecte automatiquement si PipeWire est actif
- Utilise
pw-jackpour wrapper le binaire avec JACK - Transmet tous les arguments au client (
--server,--graphics, etc.) - Fonctionne sur Linux, Windows et macOS
Build Clean¶
Pour nettoyer complètement et reconfigurer :
# Supprimer les dossiers de build
rm -rf buildLinux/ buildWin/ buildMac/ artifacts/
# Reconfigurer
./scripts/build.sh
# Recompiler
./scripts/compile.sh
Résolution des Problèmes¶
Erreur : Le dossier buildLinux n'existe pas
Vous devez d'abord exécuter le script de configuration :
Erreur : vcpkg n'a pas été compilé correctement
Le bootstrap de vcpkg a échoué. Vérifiez votre connexion internet et réessayez :
Erreur : C++23 features not available
Mettez à jour votre compilateur :
Puis relancez la configuration :Build très lent
La première compilation peut prendre du temps car vcpkg compile les dépendances. Les compilations suivantes seront beaucoup plus rapides.
Erreurs de linkage SDL2/SFML
Nettoyez et reconfigurez :
Les sanitizers ne fonctionnent pas
Les sanitizers sont configurés dans le script de build. Vérifiez que vous êtes en mode Debug (par défaut).