Big Tuto SFML 2 - Action RPG : Legends of Meruvia

Chapitre 2 : Configurons notre projet en SFML 2 sous Visual Studio 2013

 

Tutoriel présenté par : Jérémie F. Bellanger (Jay81)
Ecriture : 01 septembre 2015
Date de révision : 9 juillet 2016

 

    Prologue

 

    Pour programmer, nous avons besoin d'un IDE (ou Integrated Development Environment, soit en français, Environnement de Développement), c'est-à-dire d'un programme qui nous permettra d'écrire notre code source, puis de le compiler pour le tester (enfin, on peut aussi utiliser un éditeur de texte et compiler via la console, mais je le déconseille aux débutants wink). Il en existe plusieurs, et on verra ici comment utiliser Visual Studio 2013 Community, qui a le mérite d'être très complet et gratuit (en fait, il s'agit de la version pro à plusieurs milliers de dollars offerte par Microsoft pour attirer plus de développeurs, alors autant en profiter ! angel).

 

Note : Visual Studio 2015 Community est maintenant disponible, et vous pouvez donc aussi décider de l'installer. Dans ce cas, choisissez bien la version de la SFML compatible avec VS 2015. angel

Notez que vous pouvez aussi importer les projets téléchargeables sur le site en tant que projet VS 2013, sans mettre à jour ses libs (sinon vous aurez une erreur à la compilation concernant la SFML !) : ouvrez simplement le projet dans VS 2015 et répondez non la 1ère fois qu'on vous le demande. wink Le tout est de rester en VC 120 et pas de passer en VC 140. J'ai testé et ça marche ! 

Sinon, pour ceux qui ont déjà lu le chapitre 2 du Big Tuto SFML 2 / Rabidja, vous retrouverez ici quasiment la même chose. Je l'ai simplement copier / coller / mis à jour pour plus de simplicité dans la lecture du tuto. wink

 

    Toutefois, si vous préférez utiliser Code::Blocks ou un autre IDE de votre choix, ou bien que vous êtes sous Mac ou Linux, le site officiel de la SFML vous indique la marche à suivrewink

    J'ai moi-même suivi leurs conseils, mais comme j'ai eu quelques déboires de configuration avant que cela ne fonctionne, je préfère réécrire ma propre solution. angel

 

Attention ! J'attire votre attention sur le fait que configurer le compilateur pour qu'il retrouve les bibliothèques (libraries en anglais) où vous les avez installées sur le disque, est souvent un exercice fastidieux, surtout pour les débutants. La moindre erreur, et cela ne marchera pas.

En fait, il s'agirait presque d'une sorte d'initiation pour devenir programmeur : seuls les élus qui arriveront à configurer leur IDE sans renoncer accéderont au saint Graal de la prog' ! laugh

Mais pour ceux qui ont peur de devenir chauve avant l'âge, j'ai prévu une config' clef en mains : si vraiment vous n'y arrivez pas avec tous les conseils que je vais vous prodiguer ci-dessous : installez simplement Visual Studio 2013 Community, puis téléchargez l'archive du chapitre 3, dézippez-la où vous voulez, copiez le dossier SFML sous C:, ouvrez le projet, et c'est prêt ! Par la suite, toutes les archives téléchargeables des chapitres suivants fonctionneront aussi ! wink

 

    Installer Visual Studio 2013 Community

 

    Pour installer Visual Studio 2013 Community, suivez le lien ci-dessous (vous tomberez d'abord sur le nouveau VS 2015, il faudra chercher dans les autres téléchargements pour retrouver le 2013 wink). Par défaut, vous téléchargerez un petit fichier exécutable à lancer qui téléchargera tout VS et l'installera pour vous. 

   Mais attention, VS 2013 fait plusieurs gigas ! surprise Si vous devez l'installer sur plusieurs PC, il peut alors être judicieux de chercher dans les options du site pour télécharger la version iso, à la place. Ainsi, vous ne le téléchargerez qu'une seule fois. wink

 

 

    Voilà, une fois l'installation terminée, il vous demandera de vous connecter avec votre compte Microsoft (celui que vous utilisez sous Windows 8 par exemple) et il enregistrera automatiquement la licence à votre nom. wink

   On est maintenant prêt à télécharger la SFML et à configurer le bestiau ! laugh

 

 

      Télécharger la SFML

 

    Je vous rappelle que le site officiel de la SFML vous propose déjà un tuto ici pour VS. Le nôtre viendra donc en complément. wink

    Sinon, nous allons télécharger la SFML 2.3.1 (la dernière en date au moment où j'écris ces lignes wink - J'ai programmé le tuto en version 2.2, mais autant que vous utilisiez la dernière version cheeky). Pour ce faire, suivez le lien ci-dessous et sélectionner Windows / Visual C++ 12 (2013) - 32 bits

 

 

    Mais pourquoi 32 bits, me direz-vous ? surprise C'est simplement à des fins de compatibilité : votre programme sera ainsi compatible avec le plus grand parc d'ordinateurs possibles. cheeky

   Si maintenant, vous ne visez que les ordinateurs récents en 64bits, vous pouvez aussi choisir la version 64bits ! Et si vous êtes fou, vous pouvez installer les deux et configurer votre projet pour compiler à la fois en 32 et 64 bits et proposer les 2 versions à vos joueurs. wink

    Maintenant que c'est téléchargé, dézippez l'archive et copiez son contenu sous C:\SFML\VS2013, pour le retrouver plus facilement.

Attention : si vous copiez le contenu de l'archive ailleurs, il vous faudra changer le chemin d'accès dans la suite du tuto ! wink

 

    Configurer un nouveau projet Visual Studio 2013 Community

 

Note : Que vous utilisiez Visual Studio 2010, 2012, 2013 ou 2015, la démarche à suivre pour installer les libs devrait être exactement la même.

 

    Ouvrez maintenant Visual Studio, si ce n'est déjà fait, et suivez à la lettre les indications suivantes :

- Créez un nouveau projet : "Win32 application".
- Choisissez "Windows application" puisque nous voulons ouvrir une fenêtre, et pas la console. wink
- Cochez la case "Empty project", pour démarrer avec un projet vide (sinon, il vous faudra tout supprimer cheeky).
- Créez un fichier main.cpp et ajoutez-le au projet. Ce sera notre fichier de base, là où se trouvera notre main (logique indecision).
 
     Voilà, le projet est maintenant créé ! angel
     Il ne nous reste plus qu'à configurer la SFML, et c'est là que ça se complique, alors suivez bien ! laugh
 
- Ouvrez les Propriétés du projet : pour cela, faites un clic droit sur le nom du projet puis choisissez Propriétés.
- Choisissez Toutes les configurations en haut à gauche dans le menu déroulant (cf. capture d'écran ci-dessous).
- Dans C/C++ / Général / Autres répertoires Include : Ajoutez le chemin d'accès vers le dossier include de la SFML (normalement : C:\SFML\VS2013\include),
 

 

- Dans Editeur de liens / Général / Répertoires de bibliothèques supplémentaires : Ajoutez le chemin d'accès vers le dossier lib de la SFML (C:\SFML\VS2013\lib),

 

 

- En sélectionnant Debug en haut à gauche dans le menu déroulant :
- Dans Editeur de liens / entrée : Dépendances supplémentaires : Ajoutez : 
sfml-graphics-d.lib
sfml-window-d.lib
sfml-system-d.lib
sfml-audio-d.lib
sfml-main-d.lib
 

 

- En sélectionnant Release en haut à gauche dans le menu déroulant :
- Dans Editeur de liens / entrée / Dépendances supplémentaires : Ajoutez : 
sfml-graphics.lib
sfml-window.lib
sfml-system.lib
sfml-audio.lib
sfml-main.lib
 

 

- Pour vérifier que la SFML 2 est bien configurée, copiez dans le fichier main.cpp ce code de démo donné dans le tuto de la SFML (je vous le redonne ci-dessous par souci pratique). wink
 
 
#include <SFML/Graphics.hpp>
 
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f); shape.setFillColor(sf::Color::Green);
 
while (window.isOpen())
{
sf::Event event;
 
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed) window.close();
}
 
window.clear();
window.draw(shape);
window.display();
}
 
return 0;
}
 
- Enfin, copiez les DLLs dans le bon répertoire (elles se trouvent dans <installation-de-sfml/bin>) : 
- Répertoire Debug, copiez toutes les dlls en -d (pour Debug) + celles pour le son :
sfml-graphics-d-2.dll
sfml-window-d-2.dll
sfml-system-d-2.dll
sfml-audio-d-2.dll
sfml-main-d-2.dll
sfml-network-d-2.dll
openal32.dll
libsndfile-1.dll
 
- Répertoire Release, copiez toutes les autres dlls + celles pour le son:
sfml-graphics-2.dll
sfml-window-2.dll
sfml-system-2.dll
sfml-audio-2.dll
sfml-main-2.dll
sfml-network-2.dll
openal32.dll
libsndfile-1.dll
 

 Note : tant que vous n'aurez pas essayé de compiler une première fois, il se peut que ces dossiers n'aient pas été créés. Cliquez sur la flèche verte en haut, pour faire une tentative. Si une erreur vous indique qu'il manque la ou les dlls, arrêtez le débuguage, copiez les libs dans le dossier nouvellement créé et recommencez. 

     Eh voilà, votre code devrait normalement compiler, et une fenêtre devrait s'ouvrir avec un cercle vert dedans. wink
     Si ce n'est pas le cas, répétez les opérations précédentes et vérifiez que le chemin d'accès à la SFML est bien le bon.
 
   Si toutefois vous arrivez au bord de la crise de nerfs angry parce que ça ne fonctionne toujours pas, sans savoir pourquoi, essayez l'archive préconfigurée (à télécharger avec le chapitre 3). cheeky
   Voilà, au chapitre prochain, on rentrera dans le vif du sujet et on commencera notre projet. Vous pouvez donc déjà supprimer tout le code présent dans le fichier main.cpp. On n'en aura plus besoin ! C'était juste pour vérifier que tout était bien configuré. wink
 
     @ bientôt pour la suite ! angel
                                             Jay.

 

 

Connexion

CoalaWeb Traffic

Today118
Yesterday155
This week420
This month5661
Total1750560

29/05/24