Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SDL]Problème de compilation

Sujet résolu
    16 avril 2006 à 5:57:50

    Je suis rendu à installer la librairie SDL sur Code:Blocks et j'ai tout suivi à la lettre sauf que j'ai cette erreur lorsque je compile le code de base du tuto:


    Linking console executable: SDLapp.exe
    C:/Program Files/CodeBlocks/bin/../lib/gcc/mingw32/3.4.4/../../../../mingw32/lib/libSDLmain.a(SDL_win32_main.o): In function `console_main':
    /home/hercules/public_cvs/SDL12/src/main/win32/SDL_win32_main.c:249: undefined reference to `SDL_main'
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 0 seconds)
    • Partager sur Facebook
    • Partager sur Twitter
      16 avril 2006 à 15:34:33

      Tu as bien pensé à linker vers SDLmain ? (avec l'option -lsdlmain dans les options de ton compilateur) ??
      Parce que SDL_main, je pense que c'est de là que viens l'erreur, mais je suis pas sûr (chez moi en tout cas, il n'y a pas de "_").
      Si c'est pas ça, bah, désolé d'avoir posté pour rien :$

      EDIT :
      En divaguant sur le net, j'ai finalement trouvé pouruqoi ça marchais pas !
      Il faut mettre des arguments dans ton main sous windows : perso je met

      int main(int argc, char **argv)

      Et apparement, ils disent de faire ça dans la FAQ sdl...


      Je profite de ce topic non résolu pour exposer un autre problème de compilation SDL


      En copiant-collant le code du tutorial de Kayl sur l'apprentissage de la lib OpenGL, je reçoit l'erreur suivante : [.... blablabla..] en clair il y a un bug à la ligne 97 de sdl_audio.h.
      Je vais voir le contenu de cette ligne (je lui est même pas demander de l'inclure, mais bon, avec sdl.h, c'est une réaction en chaine).
      Je tombe sur la structure suivante :

      typedef struct SDL_AudioCVT {
              int needed;               /* Set to 1 if conversion possible */
              Uint16 src_format;            /* Source audio format */
              Uint16 dst_format;            /* Target audio format */
              double rate_incr;              /* Rate conversion increment */
              Uint8 *buf;               /* Buffer to hold entire audio data */
              int    len;               /* Length of original audio buffer */
              int    len_cvt;   /* Length of converted audio buffer */
              int    len_mult;                /* buffer must be len*len_mult big */
              double len_ratio;       /* Given len, final size is len*len_ratio */
              void (SDLCALL *filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);//la ligne fautive
              int filter_index;              /* Current audio conversion function */
      } SDL_AudioCVT;

      L'idée c'est que : "parse error befose '[' token". En clair, l'ouverture du crochet pose problème, mais je sais pas pourquoi. En plus, je ne me sert pas plus de sdl_audio.h dans ce code (où ça bug et m'empêche de compiler) que dans un autre où ça compile parfaitement bien ! est-ce dû au fait que je suis passer en format de fichier *.cpp ? (bah ouais, il y a une utilisation de booléen), ou bien l'inclusion de glu32 et Cie ?

      Re-EDIT :
      Je confirme, si je remet mon bool en int, alors la compilation marche impec'.
      A quoi est-ce dû ? normalement, ce sont les même fichiers à inclure qu'en C si on programme en C++ non ?


      Merci d'avance (désolé pour le squat du topic au passage, mais comme à priori je l'ai résolu...)
      • Partager sur Facebook
      • Partager sur Twitter
        16 avril 2006 à 20:46:48

        j'avais des arguments dans ma fonction main, en fait j'ai pris celle du tuto du site du zero. Pour ce qui est des options du compilateur, comment on les change?
        • Partager sur Facebook
        • Partager sur Twitter
          16 avril 2006 à 20:56:44

          Ca dépends de ton IDE, si c'est Dev-cpp tu va dans projet, options, linker, et là tu modifie les grandes cases vides ^^
          • Partager sur Facebook
          • Partager sur Twitter
            17 avril 2006 à 5:39:47

            mais si ils disent pas de le faire dans le tuto de mateo je vois pas pourquoi ça devrait être fait. vous avez pas une autre solution?

            edit: bon j'ai trouvé le problème. en fait mon fichier ouvert n'était pas lié au projet. en ce moment ça marche.
            • Partager sur Facebook
            • Partager sur Twitter

            [SDL]Problème de compilation

            × 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