24 févr. 2011

SDL avec Eclipse sous OSX

Capture d écran 2011 02 24 à 16 39 34

Dans le cadre d'un projet, nous avons été invité à utiliser Eclipse pour le developpement de notre sujet de projet (un jeu de dames en C/C++ je suis plus sûr).



Si ça à l'air facile d'installer SDL sous Linux, sous OSX c'est autre chose. Sous XCode les choses se passent bien, il suffit de faire un copier/coller du "framework" dans le bon chemin (/Library/Frameworks).
J'ai lu dans la mailing-list de SDL qu'il fallait utiliser le g++ d'Apple et pas celui de gnu à cause du flag -framework propre à Apple, mais je suis sûr que ca fonctionnerait aussi en passant le dossier Headers du SDL.framework en paramètre à g++, d'ailleurs je l'ai lu aussi ailleurs, et ça fonctionne !
Il faudra déjà avoir installé SDL à avec les paquets disponible sur le site de SDL ici. Faites attention à l'endroit ou vous allez mettre le dossier devel-lite car il contient les fichiers SDLMain.h/m nécessaire à la compilation de votre projet. Il faudra d'ailleurs changer l'include dans SDLMain.m:
avant:
#include "SDL.h"
apres:
#include <SDL/SDL.h>
Je considère ici que vous avez suivit les instructions d'installation fournies avec les paquets d'installation de la SDL.
Pour pouvoir utiliser Eclipse, il faudra modifier les paramètres de votre projet C++ en allant dans Project->Properties, puis C/C++ Build->Settings. On va modifier les paramètres de MacOS X C++ Linker. Je met des captures d'écran pour que vous voyez ou il faut modifier les valeurs. En gros on va rajouter les flags suivant:
Capture d écran 2011 02 24 à 16 28 21
Mais surtout on va mettre en dur le lien vers SDLMain.m, qui était dans le répertoire devel-lite. Pour cela on revient sur MacOS X C++ Linker et on rajoute à la commande g++:
g++ -I/Library/Frameworks/SDL.framework/Headers
Et j'ai aussi modifié le motif d'appel à la commande:
${COMMAND} ${FLAGS} ${INPUTS} /Developer/sdl-devel-lite/SDLMain.m ${OUTPUT_FLAG} ${OUTPUT_PREFIX} ${OUTPUT}
Ca devrait donner quelque chose comme ça.
J'ai modifié chez moi le nom du répertoire devel-lite en sdl-devel-lite alors attention lors du copier/coller !
Enfin j'ai récupéré un projet pour vite tester si tout fonctionnait.
Je me suis aidé de ce tutorial mais ca marchait pas vraiment.
J'espere que celui la aidera quelqu'un !

Aucun commentaire: