Bonjour,
j'utilise SDL sous Windows Mobile 5 et ça marche plutôt bien. (http://emreburhan.com/blog/?p=159)
Je rencontre cependant un problème assez important avec la fonction IMG_Load()
Le bout de code suivant ne fonctionne pas lorsque l'application est lancée depuis la carte de stockage externe (Storage Card) du téléphone mobile (Pocket PC).
(...par contre il fonctionne à merveille lorsqu'il est exécuté depuis la mémoire principale du Pocket PC,... bizarre non?)
Le mesage d'erreur retourné est: "Couldn't open \Ma Mémoire\Image.bmp"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 char sModuleDir[200]; char sFileName[200]; WCHAR wsBuf[200]; SDL_Surface *gSurf=NULL; //let's retrieve the directory... GetModuleFileName(NULL,wsBuf,200); wcstombs(sModuleDir,wsBuf,200); char * ptr = strrchr(sModuleDir,'\\'); *ptr = '\0'; //...and load the pix..; sprintf(sFileName,"%s\\Image.bmp",sModuleDir); gSurf = IMG_Load(sFileName); if(!gSurf) printf(IMG_GetError());
Je n'ai plus aucune idée/piste pour solutionner ce problème qui ne semble pas si trivial.
Le même fichier \Ma Mémoire\Image.bmp s'ouvre très bien comme fichier binaire non formaté avec ifstream::open.
Il semblerait donc que ce soit la fonction IMG_Load qui bute sur le "chemin d'accès" ??
Avez-vous une idée?
merci à l'avance
David
Partager