CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probleme SDL

pouky10
pouky10
Niveau 6
21 janvier 2005 à 15:33:53

Salut´ j´ai encore un prob avec SDL 1.2.8. J´ai mis dev-cpp 4.9.7.0 et ça marche, mais quand je compile un code avec SDL, ca me dis ( je crois que s´est une erreur de la sdl) :

39 C:\Dev-Cpp\include\SDL\SDL.h
In file included from C:/Dev-Cpp/include/SDL/SDL.h

1 C:\Dev-Cpp\main.cpp
from main.cpp

97 C:\Dev-Cpp\include\SDL\SDL_audio.h
parse error before `[´

C:\Dev-Cpp\Makefile.win
[Build Error] [main.o] Error 1

Que dois-je faire, modifier la SDL
les ligne 39, 1 et 97 sont:

39 #include " SDL_audio.h"

1 #include < SDL/SDL.h>

97 void ( SDLCALL *filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);

Voici ma version de SDL:
http://www.libsdl.org/release/SDL-devel-1.2.8-mingw32.tar.gz

JeanYvesYves
JeanYvesYves
Niveau 10
21 janvier 2005 à 15:38:37

enleve le SDLCALL

JeanYvesYves
JeanYvesYves
Niveau 10
21 janvier 2005 à 15:50:51

oula attends :

Dev C++ = Windows

http://www.libsdl.org/rel[...].2.8-mingw32.tar.gz
--> tar.gz
ça sent la version Linux a plein nez ! !!

A mon avis, tu n´as pas la bonne lib, et apres, Dev va raler au linkage car ce sera du Linux...

Pour avoir une version de SDL qui marche pour DevC++ : sur mon site ( cf ma carte)

info / progs / tutoC++ / §2 : installation de SDL / version DevC++

pouky10
pouky10
Niveau 6
21 janvier 2005 à 16:44:39

Merci beaucoup! ca marche enfin avec ta version

pouky10
pouky10
Niveau 6
21 janvier 2005 à 16:46:30

c bizzare parce que ca soit linux car sur le site ca disait win32 et pui minw32

JeanYvesYves
JeanYvesYves
Niveau 10
21 janvier 2005 à 16:50:29

boah, peut etre que y´avait Linux, et Windows, je ne sais pas.
Mais bon, la version sur mon site marche :)

Ce qui me met la puce a l´oreille, c´est le . tar.gz qui est un compresseur qu´aiment les linuxiens, alors que le Windowziens fait des . zip ou . rar en général.
Note : c´est une histoire d´habitude : on peut aussi zipper sous Linux et Tarer sous Windows :)

pouky10
pouky10
Niveau 6
21 janvier 2005 à 21:32:40

J´ai un nouveaux problem( ca fait un petit bout que j´avais pas programmé).
J´ai essayer de faire un nouveau prog et je bloque sur " SDL_FillRect(screen,NULL, SDL_MapRGB(screen->format,0,0,100));" qui me fais quitté pourquoi? le code est :

  1. include < SDL/SDL.h>
  2. include < stdlib.h>

int main(int argc, char *argv[])
{
SDL_Surface* screen;
SDL_Event event;

/ / initiation de la SDL
if(SDL_Init(SDL_INIT_VIDEO) == -1)
{
printf("Erreur dinitiation %s\n", SDL_GetError());

}
atexit(SDL_Quit);
/ / Régle la résolution du jeu

screen==SDL_SetVideoMode(800,600,16,SDL_SWSURFACE|
SDL_DOUBLEBUF|SDL_FULLSCREEN);
/ /regarde si la résolution est accepté
if(screen == NULL)
{
printf("résolution non accepté %s\n", SDL_GetError());
}
SDL_FillRect(screen,NULL, SDL_MapRGB(screen->format,0,0,100));
SDL_Flip(screen);
SDL_Dealy(5000);

return 0;
}

Vengeur41
Vengeur41
Niveau 10
21 janvier 2005 à 21:41:57

C´est évident que ca quitte tout seul puisqu´il n´ya pas de boucle :

  1. include < sdl.h>

typedef enume{false, true}boolean;
int main(int argc, char **argv)
{
SDL_Surface *Screen;
boolean bQuit=false;
SDL_Event e;
SDL_Init(SDL_INIT_VIDEO);

Screen=SDL_SetVideoMode(800,600,32,SDL_SWSURFACE);

SDL_WM_SetCaption("SDL",NULL);
while ( !bQuit)
{

SDL_FillRect(Screen,NULL,SDL_MapRGB(Screen->format
,255,255,255));
SDL_Flip(Screen);
if ( SDL_PollEvent(&) && e.type==SDL_QUIT)bQuit=true;
}
SDL_FreeSurface(Screen);
SDL_Quit();
return 0;
}

pouky10
pouky10
Niveau 6
22 janvier 2005 à 00:02:33

Eh bien, j´ai mis une boucle et ca ne marche pas, le programme ferme aussitot à
SDL_FillRect(screen,NULL,SDL_MapRGB(screen->format
,0,0,100));

, mais si je l´ote,le programme fonctionne. Voici le code:

  1. include < SDL/SDL.h>
  2. include < stdlib.h>

int main(int argc, char *argv[])
{
SDL_Surface* screen;
SDL_Event event;

/ / initiation de la SDL
if(SDL_Init(SDL_INIT_VIDEO) == -1)
{
printf("Erreur dinitiation %s\n", SDL_GetError());

}
atexit(SDL_Quit);
/ / Régle la résolution du jeu

screen==SDL_SetVideoMode(800,600,16,SDL_SWSURFACE|
SDL_DOUBLEBUF|SDL_FULLSCREEN);
/ /regarde si la résolution est accepté
if(screen == NULL)
{
printf("résolution non accepté %s\n", SDL_GetError());
}
int done=1;
while(done=1 )
{
SDL_FillRect(screen,NULL, SDL_MapRGB(screen->format,0,0,100));
SDL_Flip(screen);
SDL_PollEvent(&);
if(event.type == SDL_KEYDOWN)
{
break;
}
}

return 0;
}

ShellShock
ShellShock
Niveau 9
22 janvier 2005 à 10:08:36

Il y a un probleme dans ton while, t´as ecrit while(done = 1) au lieu de while(done == 1).

Vengeur41
Vengeur41
Niveau 10
22 janvier 2005 à 10:37:07

Les erreurs les plus simples sont toukours les plus " indétectables" ; )

pouky10
pouky10
Niveau 6
22 janvier 2005 à 14:52:49

Quand je fais un jeu je commence par la base qui est:

  1. include < SDL/SDL.h>
  2. include < stdlib.h>

int main(int argc, char *argv[])
{
SDL_Surface* screen;
SDL_Event event;

/ / initiation de la SDL
if(SDL_Init(SDL_INIT_VIDEO) == -1)
{
printf("Erreur dinitiation %s\n", SDL_GetError());

}
atexit(SDL_Quit);
/ / Régle la résolution du jeu

screen==SDL_SetVideoMode(800,600,16,SDL_SWSURFACE|

SDL_DOUBLEBUF|SDL_FULLSCREEN);
/ / regarde si la résolution est accepté
if(screen == NULL)
{
printf("résolution non accepté %s\n", SDL_GetError());
}
int done=0;
while(!done )
{

SDL_FillRect(screen,NULL,SDL_MapRGB(screen->format
,0,0,100));
SDL_Flip(screen);
SDL_PollEvent(&);
if(event.type == SDL_KEYDOWN)
{
done=1;
}
}

return 0;
}

Mais quand le prog rencontre
SDL_FillRect(screen,NULL,SDL_MapRGB(screen->format
,0,0,100)); , il plante(j´ai testé moi-même) mais si je l´ote il fonctionne. Que dois-je faire, pourqoi ça bug.

pouky10
pouky10
Niveau 6
22 janvier 2005 à 18:03:37

:up:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment