Partage
  • Partager sur Facebook
  • Partager sur Twitter

TP Mario en SDL

erreur bête à la compilation

Sujet résolu
    7 juin 2006 à 17:06:13

    Bonjour, :'(

    Je suis désespéré ; j'était tout content à l'idée de faire un jeu tel que Mario Sokoban (d'après les cours de M@teo) et voilà qu'une stupide erreur de compilation vient me gacher ma soirée. :-°
    Rendez-vous compte, j'ai tout juste demandé à Code::Blocks d'affichr le menu que le compilateur m'indique un erreur.

    Bon, j'espère que vous pourrez m'aider ...

    Voici mon code (il est tellement simple que je peux le donner en entier !!)
    :D

    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>

    #include "constantes.h"


    int main(int argc, char *argv[])
    {
        SDL_Surface *ecran = NULL, *menu = NULL;
        SDL_Rect positionMenu;
        SDL_Event event;

        int continuer = 1;


        SDL_Init(SDL_INIT_VIDEO);

        SDL_WM_SetIcon(IMG_Load("caisse.jpg"), NULL);

        ecran = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
        SDL_WM_SetCaption("Mario Sokoban", NULL);

        menu = IMG_Load("menu.jpg");
        positionMenu.x = 0;
        positionMenu.y = 0;

        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
                    break;

            }

            SDL_Flip(ecran);

        }

        SDL_FreeSurface(menu);
        SDL_Quit();


        return EXIT_SUCCESS;


    }


    Et quand je compile, ça m'indique (en surlignant la ligne : )
    int main(int argc, char *argv[])
    {


    "error : two or more data types in declaration of 'SDL_main'"


    Pourquoi ça m'indique ça ??????? o_O

    Merci d'avance (on sait jamais, je pourrais mourrir de déséspoir sans vous avoir dit merci...) :-°

    • Partager sur Facebook
    • Partager sur Twitter
      7 juin 2006 à 17:25:43

      t'as pas mis de main aussi dans les .h j'espère ? Paske faut pas ;)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        7 juin 2006 à 18:18:44

        met le code de "constantes.h";
        Merci
        • Partager sur Facebook
        • Partager sur Twitter
          7 juin 2006 à 20:44:00

          Citation : N1gHtm@r3

          t'as pas mis de main aussi dans les .h j'espère ? Paske faut pas



          Hem, tu m'a fais peur à un moment la :-° ; mais non, j'ai pas mis le main dans les .h parce que de toute façon, j'en ai pas pour l'instant (j'ai juste le main.c et le constantes.h).

          En fait, mon programme n'affiche que le menu pour l'instant (enfin, devrait afficher !!)


          Citation : Davidbrcz

          met le code de "constantes.h";



          Ok, je met le code :

          #ifndef DEF_CONSTANTES
          #define DEF_CONSTANTES

              #define NB_BLOCS_LARGEUR    12
              #define NB_BLOCS_HAUTEUR    12
              #define TAILLE_BLOC         34 //taille d'un bloc
              #define LARGEUR_FENETRE     TAILLE_BLOC * NB_BLOCS_LARGEUR
              #define HAUTEUR_FENETRE     TAILLE_BLOC * NB_BLOCS_LARGEUR

              enum {HAUT, BAS, GAUCHE, DROITE};
              enum {VIDE, MUR, CAISSE, OBJECTIF, MARIO, CAISSE_OK}


          #endif


          OK, OK, j'ai compris :lol:
          En fait, merci beaucoup Davidbrcz.
          En effet, en mettant le code de "constantes.h", je viens de me rendre compte que j'ai oublié un point virgule à la 2è énumération !!!
          Euh, j'ai un peu honte d'un coup, là... :honte::honte:

          Mais, alors, pourquoi le compilateur ne m'a pas indiqué que l'erreur venait de là ??

          Par contre, entre temps, j'ai quand même finis de réaliser le jeu, en attendant de le compiler ; je viens donc de le compiler (là, maintenant, oui !!) et il m'indique qu'il n'y a aucune erreur, mais en revanche ne m'affiche rien à l'écran, pourquoi ???
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            7 juin 2006 à 21:53:14

            Il ne te la pas dis car le contenu de
            constante.h
            a ete "colle" a la place de
            #include "constantes.h"

            Il ta donc bien indique d'ou venait l'erreur.
            Pour le fait de ne rien voir , tu ne blitte aucune surface c'est normal que tu en voie rien
            • Partager sur Facebook
            • Partager sur Twitter
              8 juin 2006 à 16:59:08

              Citation : Davidbrcz

              Pour le fait de ne rien voir , tu ne blitte aucune surface c'est normal que tu en voie rien



              Ok pour cet exemple, mais, il se passe la même chose maintenant que j'ai fait le projet en entier.
              J'ai même tous refait en suivant cette fois à la lettre les cours de M@teo mais c'est pareil, il compile, il n'indique aucune erreur mais n'affiche rien non plus !!

              En fait, le compilateur ne me fait pas d'exécutable...
              • Partager sur Facebook
              • Partager sur Twitter

              TP Mario en SDL

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown