prob SDL

Statut
N'est pas ouverte pour d'autres réponses.
L

leprincemiri

ex membre
Hello

j ai un petit probleme avec un programme qui utilise SDL.
J ai suivi un tuto qui me disait comment l installer et tout et tout et lorsque j essaye de compiler le code il me dit

"SDL.h : No such file or directory"

je tourne sous windows et j utilise DEV C++

Merci d avance

edit : voici mon code

Code:
#include <SDL.h>
#include <iostream>
using namespace std;

const int WIDTH = 640;
const int HEIGHT = 480;

int main ()
{
  SDL_Event;
  SDL_Surface *screen;
  int done =0;
  
  if (SDL_Init {SDL_INIT_VIDEO}!=0)
  {
	 cerr<<"probleme pour initialiser SDL"<<SDL_GetError()<<endl;
	 return 1;
  }
  
  SDL_WM_SetCaption("Programme SDL de base", NULL);
  
  screen = SDL_SetVideoMode(WIDTH,HEIGHT, 32, SDL_DOUBLEBUF | SDL_HWSURFACE);
	if(screen==NULL)
		 done = 1;
  while (!done)
  {
	 int SDL_PushEvent (SDL_Event *event);
	 int SDL_PollEvent (SDL_Event *event);
	 
	 while (SDL_PollEvent (&event))
	 {
		   switch (event.type)
		   {
				  case SDL_QUIT : done = 1;
								  break;
								  
				  case SDL_KEYUP : if(event.key.keysym.sym==SDLK_q)
								   done = 1;
								   break;
				  
				  default :
							break;
		   }   
	 }
  }
  
  SDL_Quit ();
}
 

tqz_

Elite
ton SDL.H est-il dans la librairie du compilateur?

ou sinon essaye avec un #include <"c:/"chemin d'acces"/SDL.H">
 
c'est clairement clair que le probleme vient du fait qu'il n'arrive pas à lire le header ...
 
1er
OP
L

leprincemiri

ex membre
c est bon le probleme est resolu (du moins pour la lecture de l header), j ai installe avec les devpacks
maintenant je vais teste le programme :p

edit:
voila, j ai deja un probleme lol

Code:
#include <iostream>
#include <SDL/SDL.h>
using namespace std;

int main (int arg, char **argv)
{
  SDL_Surface *sScreen;	

  void init_SDL()
  {
	SDL_Init (SDL_INIT_VIDEO);
	sScreen = SDL_SetVideoMode (800, 600, 32, SDL_HWSURFACE | DOUBLEBUF | SDL_FULLSCREEN);
	SDL_ShowCursor (0);
  }
  
  void Quit ()
  {
	SDL_FreeSurFace (screen);
	SDL_ShowCursor (1);
	SDL_Quit;
	exit (0);
  }
  
  SDL_Quit ();

  return 0;
}
et voila les erreurs a la compilation :

C:\Dev-Cpp\test sdl\Untitled1.cpp In function `int SDL_main(int, char**)':
9 C:\Dev-Cpp\test sdl\Untitled1.cpp expected primary-expression before "void"
9 C:\Dev-Cpp\test sdl\Untitled1.cpp expected `;' before "void"
16 C:\Dev-Cpp\test sdl\Untitled1.cpp expected primary-expression before "void" 16 C:\Dev-Cpp\test sdl\Untitled1.cpp expected `;' before "void"
C:\Dev-Cpp\test sdl\Makefile.win [Build Error] [Untitled1.o] Error 1
 

ailless

Asimov, Sagan, Carlin, Hitchens
Code:
#include <iostream>
#include <SDL/SDL.h>

using namespace std;

int main (void)
{
  SDL_Surface *sScreen;

  SDL_Init(SDL_INIT_VIDEO);
  sScreen = SDL_SetVideoMode (800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN);

  SDL_FreeSurface(sScreen);
  SDL_Quit ();

  return 0;
}
T'apprends la SDL sur quel site, soit tu vas beaucoup trop vite dans le tuto, soit c'est très mal fait ? Je ne t'ai pas mis la vérification des codes d'erreurs mais normalement tu dois tester si SDL_Init s'est bien passé (erreur = -1).
Je te conseille d'aller sur www.siteduzero.com et de lire INTEGRALEMENT les cours C/C++/SDL.

Ce que je te déconseille aussi de faire c'est d'employer la constante de plein écran (SDL_FULLSCREEN) enfin là ça va vu que tu ne fais pas de pauses dans ton programme donc elle se referme directement mais si t'avais fait une pause à un quelquonque endroit t'étais parti pour un exit barbare.

edit : Ca c'est pour le deuxième code mais comment tu passes du premier code (plus ou moins bien fait) au deuxième? o.O
 
1er
OP
L

leprincemiri

ex membre
hivenz a dit:
Code:
#include <iostream>
#include <SDL/SDL.h>

using namespace std;

int main (void)
{
  SDL_Surface *sScreen;

  SDL_Init(SDL_INIT_VIDEO);
  sScreen = SDL_SetVideoMode (800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN);

  SDL_FreeSurface(sScreen);
  SDL_Quit ();

  return 0;
}
T'apprends la SDL sur quel site, soit tu vas beaucoup trop vite dans le tuto, soit c'est très mal fait ? Je ne t'ai pas mis la vérification des codes d'erreurs mais normalement tu dois tester si SDL_Init s'est bien passé (erreur = -1).
Je te conseille d'aller sur www.siteduzero.com et de lire INTEGRALEMENT les cours C/C++/SDL.

Ce que je te déconseille aussi de faire c'est d'employer la constante de plein écran (SDL_FULLSCREEN) enfin là ça va vu que tu ne fais pas de pauses dans ton programme donc elle se referme directement mais si t'avais fait une pause à un quelquonque endroit t'étais parti pour un exit barbare.

edit : Ca c'est pour le deuxième code mais comment tu passes du premier code (plus ou moins bien fait) au deuxième? o.O
c etait deux sites differents sur lesquels j ai suivi les tutos, pour le deuxieme code c etait le premier tuto...
pour le moment je programme que en C++
 

ailless

Asimov, Sagan, Carlin, Hitchens
leprincemiri a dit:
c etait deux sites differents sur lesquels j ai suivi les tutos, pour le deuxieme code c etait le premier tuto...
pour le moment je programme que en C++
Je te conseille quand même de changer de tuto et d'aller sur le www.siteduzero.com :)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut