Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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.. tongue

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