Un Environnement de Développement Intégré (IDE) est préférable par rapport à la compilation manuelle de StockFish dans l’article précédent sur MinGW car l’installation et la configuration seront plus simples et les outils de développement seront intégrés et accessibles directement par menus ou la barre d’outils.
Vous n’aurez pas à modifier le PATH dans Windows pour ajouter les chemins de MinGW.
Une version récente de MinGW compatible avec l’IDE est installée par le setup.
Le choix de l’IDE CodeBlocks (CB)
- gratuit (licence GNU GPL v3) : pas de Carte Bleue nécessaire,
- simple, stable et puissant : GUI du niveau d’un Microsoft Visual C++,
- introduction en français sur Wikipedia,
- supporte MinGW C++ 4.7.1,
- maintenu récemment : version 12.11 signifie novembre 2012,
- ouvert avec le langage puissant de macros Squirrel,
- cours complet gratuit en français pour les débutants sur le C++ : CB est cité au chapitre 2.
Télécharger CB
Pour Windows 2000 / XP / Vista / 7, il y a deux setups préfixés par MinGW :
- Ignorer : codeblocks-12.11mingw-setup.exe
- Télécharger codeblocks-12.11mingw-setup_user.exe 28 Nov 2012 96.8 MB
Cliquer sur Sourceforge.net associé à codeblocks-12.11mingw-setup_user.exe car on souhaite télécharger le setup dans StockFish{CodeBlocks\Setup et non pas dans C:\Program Files\
. Le volume important de téléchargement 100 MB s’explique par l’intégration de MinGW.
"Teach Yourself C++ lesson 0 - install and setup code::blocks"
Les débutants en C++ pourront suivre les vidéos des leçons suivantes en anglais.
Installer CB dans Windows
Comme le setup est dans StockFish{CodeBlocks\Setup, depuis l’installation de Git, on a maintenant l’habitude d’installer le programme dans StockFish\CodeBlocks{Prog.
Destination Folder : (en supposant que l'utilisateur courant s'appelle "Chess" sinon adapter le chemin)
C:\Program Files\
CodeBlocks" par
C:\Users\Chess\Documents\
StockFish\CodeBlock{Prog
Ignorer l'avertissement : "Cannot create shortcut for all users."
Click "OK" (CB n'est installé que pour l'utilisateur Windows courant).
Créer le projet StockFish dans CB et configurer son type
Lancer CodeBlocks.exe
Current default compiler : GNU GCC Compiler
Cliquer sur le menu de CodeBlocks "File" > "New" > "Project..."
Dans la boite de dialogue (dlg) "New from template"
Double click "Console application"
StockFish est un moteur de jeu d’Echecs UCI qui nécessite un GUI comme Arena. Cela veut dire que SF n’a pas de GUI dans son exécutable. C’est un programme qui peut se lancer dans l’invite de commande (command prompt) de Windows : voir Parlez-vous UCI ? On appelle ce type de programme une application console (Console application).
Configurer la console application StockFish dans CB
Dlg "Console application" : please select the (programming) language you want to use.
garder la sélection "C++" (choix par défaut)
Click "Next"
Project title : StockFish
Folder to create project in : C:\Users\Chess\Documents\
(se placer dans le répertoire parent de StockFish)
Project filename : StockFish.cbp (l'extension de fichier signifie CodeBlocks Project)
Resulting filename : C:\Users\Chess\Documents\
StockFish\StockFish.cbp
Click "Next"
Compiler : GNU GCC Compiler (choix par défaut inchangé)
Ajouter les fichiers code source dans le projet SF
Dans la fenêtre de gauche "Projects", s’ouvre l’espace de travail : Workspace > StockFish > Sources.
C:\Users\Chess\Documents\
StockFish{main.cppLes débutants en C++ pourront voir comment on affiche "Hello world!".
C’est le premier programme que l’on apprend à écrire quand on découvre un langage de programmation.
Voir les leçons 0 et 1 en vidéo ci-dessus concernant le langage de programmation C++.
Effacer le programme principal généré automatiquement par CB lors de la création du projet :
on n’a pas besoin du programme principal généré par CB à la création du projet.
Sélectionner dans l’arborescence projet (treeview) Workspace > StockFish > Sources > main.cpp
Menu contextuel "Remove from project"
Noter que le fichier main.cpp est effacé du projet StockFish mais pas du disque dur.
On pourra effacer ce fichier main.cpp depuis le gestionnaire de fichiers de Windows.
(Attention : ne pas effacer
C:\Users\Chess\Documents\
StockFish\Source\src\main.cpp géré par Gitmais
C:\Users\Chess\Documents\
StockFish{main.cpp créé par CB.Ajouter les fichiers code source existant (en particulier main.cpp) dans le projet SF :
menu contextuel "Add Files..." ou menu "Project" > "Add Files..."
Descender l’arborescence en cliquant sur "Source/src" géré par Git.
Multi-sélectionner (Shift+Click) tous les fichiers code source ayant l’extension .cpp et les headers .h
(Attention : ne pas sélectionner le fichier texte Makefile)
Une fois tous les fichiers code source ajoutés dans le projet, double cliquer sur main.cpp. Cela va ouvrir une nouvelle fenêtre d’édition du code source. Dans un programme C++, le point d’entrée principal ou programme principal est main.cpp ci-dessous sélectionné sur la gauche dans Workspace > StockFish > Sources > Source > src. C’est le premier fichier code source à consulter pour entrer dans le fonctionnement du logiciel.
Dans la fenêtre "Logs & others" entre la fenêtre principale et la barre de status, on peut lire dans l’onglet "Build log" les traces de compilation du projet. La mention "0 errors, 0 warnings" indique que la compilation s’est bien passée. A vous d’en faire de même !
Compiler SF dans CB
Dans la barre d’outils de CB, sélectionner :
Build target : Release (pour la version optimisée à la place de Debug pour la mise au point)
Cliquez sur le bouton de la roue dentée jaune (info-bulle "Build") de la barre d’outils ou menu "Build" > "Build" (Ctrl+F9).
Selon la dernière version que vous avez clonée du GitHub, vous pouvez obtenir dans l’onglet "Build log" de la fenêtre au-dessus de la barre de status de CB :
(trace de compilation)
Output size is 825.50 KB
Cet exécutable de SF se trouve dans C:\Users\Chess\Documents\
StockFish{bin{Release
La taille de l’exécutable peut différer par rapport à la taille ci-dessus et/ou par rapport à la taille de l’exécutable du SF officiel.
Pour une première prise de connaissance avec CB, on a laissé les choix par défaut concernant les options d’optimisation du compilateur C++. On pourra ultérieurement affiner ces options en se basant sur la référence du Makefile et revoir le rôle du fichier code source benchmark.cpp
Notons que les fichiers objets intermédiaires de compilation sont dans C:\Users\Chess\Documents\
StockFish{obj\Release\Source\src selon la cible choisie Release ou Debug.
La nightly build de la dernière version est compilée avec toutes les optimisations souhaitées par l’équipe de SF. Elle est disponible, pour tous les systèmes d’exploitation ciblés, sur le site Stockfish Development Versions avec l’auteur et un résumé de sa modification sans avoir à utiliser Git.
Les versions de développement de SF sont générées automatiquement s’il y a des modification dans la branche maître du GitHub du projet. Elles sont compilés avec gcc 4.7/mingw sur Ubuntu 12.10 et Windows. Comme on peut le voir en parcourant les dates récentes, le projet est très actif.
Configurer SF dans le GUI Arena
L’exe de SF généré en local sur votre disque dur est opérationnel même s’il sera optimisable dans le futur.
Dans Arena Chess GUI 3.0, menu "Engines" > "Manage"
Click "New"
Sélectionner
C:\Users\Chess\Documents\
StockFish\bin{Release\StockFish.exe1er onglet "General"
Author : Marco Costalba
Command Line :
C:\Users\Chess\Documents\
StockFish\bin{Release\StockFish.exeCommand Line Parameters : (aucun)
Country : Italy
Type : UCI
Logo file :
C:\Users\Chess\Documents\
StockFish\stockfish-3-win\Logos\stockfish_100x50.gifClick "Apply"
Un nouvel gladiateur avec des écailles de poisson est prêt à entrer dans l’arène échiquéenne.