Malheureusement, beaucoup de personnes renoncent à utiliser SDL avec Eclipse sous Mac… J’espère que ce mini-tutoriel vous aidera et que vous ne serez pas contraint de travailler sous XCode.
Installer SDL pour XCode…
Aller sur le site officiel de SDL et télécharger SDL-1.2.14.dmg dans Runtimes Librairies et SDL-devel-1.2.14-extras.dmg dans Developement Librairies.
Pour SDL-1.2.14.dmg :
Copier SDL.framework dans /Bibliothèque/Frameworks (Certains répertoire ont aussi un nom anglais, /Library/Frameworks dans ce cas la).
Copier le dossier devel-lite et coller le dans /Developer/
Pour SDL-devel-1.2.14-extras.dmg :
Commencons par Xcode Template, sélectionner la version correspondante, copier les 3 dossiers ( SDL Applicatio, SDL Cocoa APplication et SDL OpenGL Application ) et coller les dans :
/Developer/Xcode/Library/Xcode/Project Templates/Application
Copier le dossier SDLMain dans /Developer/
Maintenant, lancer XCode, vous devriez avoir la possibilité de créer une « SDL Application » dans la catégorie Application.
Passons à Eclipse…
On supposera qu’on a installé correctement Eclipse et qu’il soit fonctionnel pour le C.
Créer un projet, puis clic-droit dessus : Propriétés > C/C++ Build > Settings :
Dans MacOS X C Linker > Miscellanous, insérer (dans la zeone Linker Flags ) : -framework Cocoa -framework SDL /Lien/Absolue/Vers/Votre/Projet/SDLMain.m
Dans GCC C Compiler > Directories, ajouter un repertoire et mettre :/Library/Frameworks/SDL.framework/Versions/A/Headers
Ajouter à votre fichier source : #include « SDL/SDL.h »
Attention : Vous ne devez pas declarer votre man comme suit : int main() mais int main(int argc, char *argv[])
J’espère que ce mini-tuto vous sera utile, n’hésitez pas à laisser des commentaires, avis…
Code pour tester (généré par XCode):
L’indentation est détruite par la mise en page du blog :sous Eclupse, ctrl + a puis ctrl + i ré-indente tout ca !
/* Simple program: Create a blank window, wait for keypress, quit.
Please see the SDL documentation for details on using the SDL API:
/Developer/Documentation/SDL/docs.html
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "SDL/SDL.h"
int main(int argc, char *argv[])
{
Uint32 initflags = SDL_INIT_VIDEO; /* See documentation for details */
SDL_Surface *screen;
Uint8 video_bpp = 0;
Uint32 videoflags = SDL_SWSURFACE;
int done;
SDL_Event event;
/* Initialize the SDL library */
if ( SDL_Init(initflags) < 0 ) {
fprintf(stderr, "Couldn't initialize SDL: %sn",
SDL_GetError());
exit(1);
}
/* Set 640x480 video mode */
screen=SDL_SetVideoMode(640,480, video_bpp, videoflags);
if (screen == NULL) {
fprintf(stderr, "Couldn't set 640x480x%d video mode: %sn",
video_bpp, SDL_GetError());
SDL_Quit();
exit(2);
}
done = 0;
while ( !done ) {
/* Check for events */
while ( SDL_PollEvent(&event) ) {
switch (event.type) {
case SDL_MOUSEMOTION:
break;
case SDL_MOUSEBUTTONDOWN:
break;
case SDL_KEYDOWN:
/* Any keypress quits the app... */
case SDL_QUIT:
done = 1;
break;
default:
break;
}
}
}
/* Clean up the SDL library */
SDL_Quit();
return(0);
}
Sur le même sujet :
Commentaires
Ecrire un commentaire Trackback