Se connecter / S'enregistrer
Votre question

Probleme sdl en c++

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
20 Novembre 2009 13:52:43

Bonjour,
j ai configurer visual studio 2008 grace a ce tuto http://lazyfoo.net/SDL_tutorials/lesson01/windows/msvsn... 8e/index.php
le probleme est que mon programme compile normalement mais quand je charge une image elle n aparait jamais . il n y a juste qu une fenetre noir merci pour vos reponse .

ps voici mon main dailleur il n ya que sa dans mon programme

//Include SDL functions and datatypes
#include "SDL.h"

int main( int argc, char* args[] )
{
//The images
SDL_Surface* hello = NULL;
SDL_Surface* screen = NULL;

//Start SDL
SDL_Init( SDL_INIT_EVERYTHING );

//Set up screen
screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );

//Load image
hello = SDL_LoadBMP( "hello.bmp" );

//Apply image to screen
SDL_BlitSurface( hello, NULL, screen, NULL );

//Update Screen
SDL_Flip( screen );

//Pause
SDL_Delay( 2000 );

//Free the loaded image
SDL_FreeSurface( hello );

//Quit SDL
SDL_Quit();

return 0;
}

Autres pages sur : probleme sdl

a b L Programmation
20 Novembre 2009 20:59:21

Si tu lances le programme à partir de Visual Studio, il te faut mettre l'image dans le répertoire du projet, sinon à côté de l'exe.
m
0
l
20 Novembre 2009 23:17:01

c ce ke jai fai
m
0
l
Contenus similaires
a b L Programmation
20 Novembre 2009 23:39:48

et dans SDL_LoadBMP, as-tu testé le chemin complet?
"C:\\rep\\hello.bmp"
m
0
l
21 Novembre 2009 01:38:34

OUI sa ne donne toujours rien et kan j execute en mode debeug le hello il a sa kom erreur
- - hello 0x00000000 {flags=??? format=??? w=??? ...} SDL_Surface *
flags CXX0030: Error: expression cannot be evaluated
format CXX0030: Error: expression cannot be evaluated
w CXX0030: Error: expression cannot be evaluated
h CXX0030: Error: expression cannot be evaluated
pitch CXX0030: Error: expression cannot be evaluated
pixels CXX0030: Error: expression cannot be evaluated
offset CXX0030: Error: expression cannot be evaluated
hwdata CXX0076: Error:
- clip_rect {x=??? y=??? w=??? ...} SDL_Rect
x CXX0030: Error: expression cannot be evaluated
y CXX0030: Error: expression cannot be evaluated
w CXX0030: Error: expression cannot be evaluated
h CXX0030: Error: expression cannot be evaluated
unused1 CXX0030: Error: expression cannot be evaluated
locked CXX0030: Error: expression cannot be evaluated
map CXX0076: Error:
format_version CXX0030: Error: expression cannot be evaluated
refcount CXX0030: Error: expression cannot be evaluated
m
0
l
a b L Programmation
21 Novembre 2009 11:23:14

Tu regardes le contenu de la variable après l'appel à SDL_LoadBMP ?
m
0
l
21 Novembre 2009 19:40:19

oui avc le debuger et sa m affiche ce que j ai ecri + haut
m
0
l
a b L Programmation
21 Novembre 2009 21:15:48

Est-ce que ce n'est pas un problème avec ton image ?
Désolé, amis je ne vois que ça. :) 
m
0
l
21 Novembre 2009 23:53:18

bn jai essayer dotre images meme chose . sinon sa marche sous code::blocks
mais je kif visual studio
m
0
l
22 Novembre 2009 14:49:30

C'est peut-être par ce que tu ne met pas de position.
  1. //Include SDL functions and datatypes
  2. #include "SDL.h"
  3.  
  4. int main( int argc, char* args[] )
  5. {
  6. //The images
  7. SDL_Surface* hello = NULL;
  8. SDL_Surface* screen = NULL;
  9.  
  10. SDL_Rect position;// ici <----
  11.  
  12. //Start SDL
  13. SDL_Init( SDL_INIT_EVERYTHING );
  14.  
  15. //Set up screen
  16. screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
  17.  
  18. //Load image
  19. hello = SDL_LoadBMP( "hello.bmp" );
  20.  
  21. //Apply image to screen
  22. position.x=0;// ici <----
  23. position.y=0;// ici <----
  24. SDL_BlitSurface( hello, NULL, screen, &position); // ici <----
  25.  
  26. //Update Screen
  27. SDL_Flip( screen );
  28.  
  29. //Pause
  30. SDL_Delay( 2000 );
  31.  
  32. //Free the loaded image
  33. SDL_FreeSurface( hello );
  34.  
  35. //Quit SDL
  36. SDL_Quit();
  37.  
  38. return 0;
  39. }


Vérifie aussi si l'image est bien chargée en faisait :
  1. hello = SDL_LoadBMP( "hello.bmp" );
  2. if(!hello)
  3. fprintf(stderr,"Image non chargée");
  4. else
  5. fprintf(stderr,"Image correctement chargée");

Tu n'as plus qu'a lire ce qu'il y a d'écrit pour savoir d'où vient le problème.

Cordialement
Jagang
m
0
l
a b L Programmation
22 Novembre 2009 15:50:11

Je ne pense pas que ça vienne de la position, ça peut être un pointeur NULL indiquant toute la surface. Je reste sur un problème avec l'image non chargée. ;) 
m
0
l
22 Novembre 2009 16:22:16

hier j ai mi tous les .h , les .lib et le SDL.dll dans mon projet j ai mi limage moi meme dans les dossier de mon projet sans passer par visual. sa na pas marcher today pour essayer le fprintf de JAGANG sa marche . Merci les ga meme si je c vrement pas ct koi le probleme . la jai une autre question .
Ou se trouve le .exe de mon appli car vu ke la console de visual nes plus active je ne c pas pourquoi , (surement les reglage du tuto pour ke la sdl marche) je me di en lexecutan en mode commande je pourai voir les message ke je laisse sur l ecran (genre printf) merci encore de vos reponse clair .
m
0
l
22 Novembre 2009 16:30:54

Hier j ai mi tous mes .h , les .lib et le SDL.dll dans mon projet, j ai mi limage moi meme dans les dossiers de mon projet sans passer par visual Studio . Sa ne marcher toujours pas . Aujourd hui pour essayer le fprintf de JAGANG je lance et comme par magie sa marche . Merci les ga meme si je ne sais vrement pas ct koi le probleme . La j ai une autre question .
Ou se trouve le .exe de mon aplication car vu que la console de visual nes plus active je ne c pas pourquoi (surement les reglages du tuto pour ke la sdl marche) je me di qu en l executant en mode commande je pourai voir les messages que je laisse sur l ecran (genre printf) merci encore de vos reponses clair .

ps : dans C:\Users\dwyane\Documents\Visual Studio 2008\Projects\My_project\My_project\Debug Je vois pas de .exe mais je vois sa

My_project.exe.intermediate.manifest
My_project.exe.embed.manifest
My_project.exe.embed.manifest

bref po de .exe donc comment dois je faire pour executer en mode commande msdos ?
m
0
l
22 Novembre 2009 16:31:21

Je ne connait pas Visual mais je pense que lorsque tu compiles l'exécutable est créé et mis dans le dossier de ton projet.
Cordialement
Jagang
m
0
l
22 Novembre 2009 16:34:27

oui je l ai reecrite mais tu as repondu trop vite pour la voir
m
0
l
22 Novembre 2009 16:36:43

c bon je l ai trouve merci

C:\Users\dwyane\Documents\Visual Studio 2008\Projects\My_project\Debug
m
0
l
22 Novembre 2009 16:38:28

grilled
m
0
l
22 Novembre 2009 17:11:19

J ai cree un nouveau projet afin de voir ou se situe le problem .
En faite l image ne ce mettez pas au bon endroit ,
Donc avec visual studio il faut eviter de faire des copie coller en glissan le fichier du repertoir a l application .
Il faudra plutot l inserer soi meme en allant voir le bon dossier de votre projet ce n est pas l endroi ou se trouve le .exe mais dans le dossier ou il y a votre main
MERCI a TOUS
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS