#1 Le 04/10/2014, à 16:14
- Dams95
Code::Blocks Gros problème avec la SDL
Bonjour alors voilà je débute en informatique je suis en IUT info.
Je dois faire un projet pour dans 2 semaines, un "Pong", c'est un jeu.
Je dois donc pour le moment travailler avec des images.
Mes profs m'ont mis a disposition un script, mais il ne fonctionne pas sur mon PC.
Je vous mets le script ci-dessous et je poursuis le soucis :
// screen.cc
#include<iostream>
#include<cstdlib>
#include<string>
#include "SDL.h"
#include "SDL_image.h"
using namespace std;
int SCREEN_WIDTH=600, SCREEN_HEIGHT=500, SCREEN_BPP=32;
SDL_Rect Rectangle;
int main(/*int argc, char* argv[]*/)
{
bool quit=false;
SDL_Surface *screen; // SDL_Surface : Représente les éléments graphiques dans SDL.
SDL_Event event; // SDL_Event : Sert à pouvoir déclarer des éléments.
SDL_Init(SDL_INIT_EVERYTHING); // SDL_Init : Charge la SDL en mémoire, elle est initialisée. // SDL_INIT_EVERYTHING : Charge le système d'affichage, de son, de CD-ROM et de gestion de joystick.
screen=SDL_SetVideoMode(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_BPP,SDL_SWSURFACE); // SDL_SetVideoMode : Fixe le mode vidéo largeur, ordonné.
while(!quit)
{
Rectangle.x=100;
Rectangle.y=400;
Rectangle.w=20;
Rectangle.h=20;
SDL_FillRect(screen,&screen->clip_rect, // SDL_FillRect : Permet le remplissage d'une surface avec une certaine couleur.
SDL_MapRGB(screen->format,250,250,250)); // SDL_MapRGB : Convertit le triplet hexa au format de l'écran.
SDL_FillRect(screen,&Rectangle,SDL_MapRGB(screen->format,250,0,0));
SDL_Flip(screen); // SDL_Flip : Affiche enfin l'écran.
while(SDL_PollEvent(&event)) // SDL_PollEvent : Permet de retirer l'élément en tête de fil d'attente. Elle retourne 1 si il y a des évènement en attente, 0 sinon.
if(event.type==SDL_QUIT) // SDL_QUIT : Evenement de fermeture de programme.
quit=true;
}
SDL_FreeSurface(screen);
SDL_Quit(); // SDL_Quit : Ferme le programme
return EXIT_SUCCESS;
}
Mes profs m'ont également indiqué ceci :
il faut créer un projet SDL. Ensuite clic droit sur le projet puis proprieties/project build option.
dans linker settings ajouter :
`sdl-config --libs`
-lSDLmain -lSDL -lSDL_image -lSDL_ttf
Ceci fait je built and run et voici ce que j'obtient....
-------------- Build: Debug in Pong (compiler: GNU GCC Compiler)---------------
g++ -o bin/Debug/Pong obj/Debug/main.o -L/usr/lib/i386-linux-gnu -lSDL "-l"`sdl-config --libs`
-lSDLmain -lSDL -lSDL_image -lSDL_ttf""
/usr/bin/ld: ne peut trouver -l-L/usr/lib/i386-linux-gnu
collect2: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
S'il vous plait aidez moi j'en ai mart..
Je précise mes deux dernières commandes sur mon terminal après avoir consulter d'autre forum :
sudo apt-get install libsdl-gfx1.2-dev
sudo apt-get install libsdl-image1.2-dev
Hors ligne
#2 Le 05/10/2014, à 20:05
- Dams95
Re : Code::Blocks Gros problème avec la SDL
Quelqu'un aurait une idée s'il vous plait?
Hors ligne