Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur de compilation avec SDL

    11 octobre 2006 à 16:33:26

    salut,
    Je vien de commencer les chapitres de C sur la SDL et j'ai essayer de compiler ce programme :
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>

    void pause();

    int main(int argc, char *argv[])
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL

        SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
       
        pause(); // Mise en pause du programme

        SDL_Quit(); // Arrêt de la SDL

        return EXIT_SUCCESS; // Fermeture du programme
    }

    void pause()
    {
        int continuer = 1;
        SDL_Event event;

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


    Et je suis sous linux (FC5) et on m'a dit que avec le fichier .c il ne falait pas mettre les fichier de la SDL comme avec linux (donc dans mon dossiera avec ce code j'ai que ca)
    ET quand je compile avec GCC :
    gcc -o /home/luc/C/aaa.exe /home/luc/C/aaa.c


    ca me met les erreur suivante :
    /tmp/ccdlbuDO.o: dans la fonction « main »:
    aaa.c:(.text+0x19): référence indéfinie vers « SDL_Init »
    aaa.c:(.text+0x3d): référence indéfinie vers « SDL_SetVideoMode »
    aaa.c:(.text+0x47): référence indéfinie vers « SDL_Quit »
    /tmp/ccdlbuDO.o: dans la fonction « pause »:
    aaa.c:(.text+0x6f): référence indéfinie vers « SDL_WaitEvent »
    collect2: ld a retourné 1 code d'état d'exécution


    Voila, si une personne pouvait m'aider ce serait vraiment bien :)
    merci
    amicalement
    LuC
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      11 octobre 2006 à 16:36:34

      tu a du oublier de linker quelque chose.
      • Partager sur Facebook
      • Partager sur Twitter
        11 octobre 2006 à 16:38:37

        heu c'est a dire ? j'y fait comment ca ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          11 octobre 2006 à 18:33:20

          Donc apres ce que tu a mit sur la ligne de commande de gcc, tu rajoute -lSDL -lSDL_mixer(ou seulement -lSDL car ca fait longtemps que j'ai pas compiler sous Linux)
          Sinon tu utilise la makefile de Mateo qui est donne dans son cours.
          P.S:FC5 c'est linux,il faut quand meme rajouter les option de compila pres gcc
          • Partager sur Facebook
          • Partager sur Twitter
            12 octobre 2006 à 19:13:18

            j'ai mis ca :
            gcc -o /home/luc/C/aaa.c `sdl-config --cflags --libs`

            et ca me met les erreur suivante :
            /usr/lib/gcc/i386-redhat-linux/4.1.1/../../../crt1.o: dans la fonction « _start »:
            (.text+0x18): référence indéfinie vers « main »
            collect2: ld a retourné 1 code d'état d'exécution


            et ca me suprime mon fichier.c o_O
            • Partager sur Facebook
            • Partager sur Twitter
              13 octobre 2006 à 16:34:49

              UP : personne ne peut m'aidé ? o_O
              • Partager sur Facebook
              • Partager sur Twitter
                16 octobre 2006 à 17:56:54

                toujours personne ? :s
                • Partager sur Facebook
                • Partager sur Twitter

                erreur de compilation avec 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