Partage
  • Partager sur Facebook
  • Partager sur Twitter

<cstdlib>

avec OpenGl

Sujet résolu
    29 avril 2006 à 9:57:08

    Salut,

    J'ai commencé à regarder le tuto OpenGl et en copiant-collant ce code le compilateur me renvoie une erreur. Je crois que c'est lié au #include<cstdlib> mais j'ai vérifié il se trouve bien dans le dossier de Dev C++ donc je ne sais plus quoi trop faire.

    Merci d'avance ^^

    #include <SDL/SDL.h>
    #include <GL/gl.h>
    #include <GL/glu.h>
    #include <cstdlib>

    void Dessiner();

    int main(int argc, char *argv[])
    {
        SDL_Event event;

        SDL_Init(SDL_INIT_VIDEO);
        atexit(SDL_Quit);
        SDL_WM_SetCaption("SDL GL Application", NULL);
        SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);

        glMatrixMode( GL_PROJECTION );
        glLoadIdentity();
        gluPerspective(70,(double)640/480,1,1000);

        Dessiner();

        for (;;)
        {
            SDL_WaitEvent(&event);

            switch(event.type)
            {
                case SDL_QUIT:
                exit(0);
                break;
            }
            Dessiner();

        }

        return 0;
    }

    void Dessiner()
    {
        glClear( GL_COLOR_BUFFER_BIT );

        glMatrixMode( GL_MODELVIEW );
        glLoadIdentity( );

        gluLookAt(3,3,3,0,0,0,0,0,1);

        /* Dessin 3D */

        glFlush();
        SDL_GL_SwapBuffers();
    }


    [Linked error] undefined reference to 'gluPerspective@32'
    [Linked error] undefined reference to 'gluLookAt@72'
    ld returned 1 exit status
    [Build Error] [''OpenGl] Error 1
    • Partager sur Facebook
    • Partager sur Twitter
      29 avril 2006 à 11:29:26

      cstdlib est l'équivalent en C++ du stdlib.h.
      Le problème n'est pas là car comme tu peux le voir la phase de compilation du code s'est bien passé.
      Le problème ici est lors de l'édition des liens.
      "Linked error" etc...

      Ici les 2 appels qui passent mal sont ceux de glu donc tu as du oublier de rajouter -lglu32 dans tes options de projet, alors que tu as bien mis -lopengl32 car tu n'as pas d'autres erreurs.
      • Partager sur Facebook
      • Partager sur Twitter
        29 avril 2006 à 11:59:19

        Si tu lisais au lieu de copier coller il y est dit qu'il faut rajouter de fichiers dans les options de projet:

        Citation : Tuto OpenGL de Kayl

        Compilation


        Pour compiler il nous faut rajouter les fichiers cités plus haut. Dans nos options de projet nous rajoutons donc :

        IDE / Compilateur lib
        Code::Blocks Windows opengl32
        glu 32
        DevC++ Windows opengl32
        glu 32
        Visual Studio Windows opengl32.lib
        glu32.lib
        Code::Blocks Linux GL
        GLU
        Xmu*
        X11*


        * A confirmer


        Pfiou... C'est long à faire un tableau, comme on peut pas copier-coller le Zcode des tutos il faut le refaire en entier o_O

        [EDIT:] Nooooooon, pas un grilled alors que j'ai passé autant de temps à mettre tout en forme... :(
        • Partager sur Facebook
        • Partager sur Twitter
          29 avril 2006 à 14:57:09

          Oui c'était bien ça ! Merci pour tout ! :)
          • Partager sur Facebook
          • Partager sur Twitter

          <cstdlib>

          × 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