Pour utiliser SDL sous Windows, une solution consiste à passer par l’écosystème natif Microsoft. Cette approche nécessite l’installation de Visual Studio (environ 20 Go), le téléchargement des sources de SDL2, puis leur installation via vcpkg, qu’il faut également configurer. Cette procédure est longue, lourde et relativement complexe.
Une alternative plus simple consiste à utiliser MSYS2, un environnement de type Unix pour Windows. Contrairement à WSL, qui exécute un véritable Linux sous Windows avec d’excellentes performances, MSYS2 propose une couche de compatibilité plus légère et mieux intégrée aux outils Windows. WSL peut poser des problèmes dans le cadre de ce projet, notamment un accès plus complexe aux périphériques (USB, carte son, etc.). Sur certaines machines, cela se traduit par une latence audio pouvant atteindre 1,5 seconde, ce qui est problématique.
L’installation de MSYS2 peut se faire directement via le gestionnaire de paquets Windows.
Ouvrez un terminal Windows (cmd.exe) et exécutez :
winget install MSYS2.MSYS2Il est possible d’intégrer MSYS2 dans Windows Terminal afin de bénéficier d’un terminal moderne et centralisé.
- Ouvrez Windows Terminal
- Appuyez sur
CTRL + SHIFT + Ppour ouvrir la palette de commandes - Sélectionnez Open settings file (JSON)
- Ajoutez le profil suivant à la liste existante :
{
"guid": "{17da3cac-b318-431e-8a3e-7fcdefe6d114}",
"name": "MSYS2 UCRT64",
"commandline": "C:\\msys64\\msys2_shell.cmd -defterm -here -no-start -ucrt64",
"icon": "C:\\msys64\\ucrt64.ico",
"startingDirectory": "%USERPROFILE%"
}Nous allons maintenant installer, sous MSYS2 :
- un compilateur C,
- la bibliothèque SDL2,
- Git,
- Make,
- ainsi que quelques outils de développement utiles.
Ouvrez MSYS2 (via Windows Terminal ou le menu Démarrer), puis installez les outils de base :
pacman -S --needed vim make gdb mingw-w64-ucrt-x86_64-gcc cmake gitEnsuite, installez les dépendances liées à SDL :
pacman -S --needed \
mingw-w64-ucrt-x86_64-SDL2 \
mingw-w64-ucrt-x86_64-SDL2_ttf \
mingw-w64-ucrt-x86_64-gcc \
mingw-w64-ucrt-x86_64-pkgconfVérifiez que SDL2 et SDL2_ttf sont correctement installés :
pkg-config --modversion sdl2
pkg-config --modversion SDL2_ttfSi vous utilisez déjà WSL, vous pouvez réutiliser vos clés SSH existantes.
Depuis votre distribution WSL, exécutez :
cp -r ~/.ssh /mnt/c/msys64/home/*/Ensuite, depuis MSYS2, ajustez les droits de la clé privée afin qu’elle soit accessible uniquement en lecture :
chmod 0400 ~/.ssh/id_ed25519SDL2 nécessite impérativement une fonction main complète avec les arguments argc et argv.
Depuis MSYS2, dans le répertoire de votre projet (après l’avoir cloné), exécutez la commande suivante :
sed -i 's/int[[:space:]]*main[[:space:]]*(void)/int main(int argc, char *argv[])/' main.cIl ne reste plus qu’à compiler et lancer l’application :
make
./app.exe