Bonjour à tous,
Je suis en train de créer un petit jeu (un ersatz de Pong) avec la SFML en C++.
Sous Linux aucun problème, les libs sont parfaitement importées et tout fonctionne à merveille.
Mais c'est sous Windows que ça se complique... Après avoir suivi le tutoriel d'installation pour MinGW, le make se passe à merveille, et il me produit bien le fichier EXE tant attendu.
J'ai également ajouté les DLL de la SFML dans le dossier de ce même exe, et au lancement... 1 à 2 secondes de pause et le fameux message d'erreur "L'application a rencontré un problème blah blah blah...".
Il s'agissait après être passé en mode debug grâce au bon vieux Code::Blocks que le constructeur d'un objet sf::Font plantait.
Curieux, j'ai créé un projet tout bête avec une simple création de fenêtre sans rien dedans et la même erreur se déclenchait à la création de l'objet sf::RenderWindow.
Après des heures et des heures de recherches sur le forum ici et sur notre ami Google, j'ai vu qu'il s'agissait probablement d'une incompatibilité dûes aux versions de GCC. Pour info je travaille avec la 4.7 (autant sous nunux que sous windows).
J'ai également lu qu'il fallait donc recompiler la SFML pour produire des DLL compatibles avec la version 4.7. Ce que j'ai tenté vainement de faire, car les makefile ne voulant pas s'exécuter sous windows, j'ai trouvé un workspace Code::Blocks. Pensant avoir trouvé le Graal, j'ai tenté de compiler les projets un par un, et un nombre incommensurable d'erreurs de compilation sont arrivées.
En particulier sur sfml-window : "NULL is not declared in this scope". De nombreuses ressources sur Internet déclarent qu'il faut ajouter l'inclusion <cstddef>, et en ajoutant ceci je me suis retrouvé avec une flopée d'erreurs de fonctions que le compilo ne trouvait pas.
J'ai remplacé NULL par nullptr (qui correspond au nouveau standard) et j'ai tenté de recompiler tout ça.
Aucun problème jusqu'à sfml-main où le portage du main pour Windows explose en me disant que "__argc" et "__argv" n'existent pas.
Bref après toutes ces heures gâchées, j'ai fini par abandonner.
Si quelqu'un a une solution à fournir, je suis preneur.
Merci d'avance.
PS: Désolé pour le pavé
si vous avez besoin d'autres infos complémentaires dites le moi