Freeglut funktioniert nicht



  • Hallo,

    Ich habe bis jetzt den MinGW Compiler genutzt. Funktioniert auch problemlos bisher.
    Jetzt hab ich mir aber Freeglut geladen und es nach dieser Anleitung

    http://sebidev.wordpress.com/2011/12/26/gltutorial1/

    "installiert".

    Folgendes Testfile versuche ich nun vergebens per Windows-Konsole zu compilieren...

    #include <GL/gl.h>
    #include <GL/glu.h>
    #include <GL/glut.h>
    
    void draw (void)
    {
      glClear (GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT);
      GLfloat color[] = { 0.0, 1.0, 0.0 };
      glMaterialfv (GL_FRONT, GL_AMBIENT, color);
      glMaterialfv (GL_FRONT, GL_DIFFUSE, color);
      glutSolidCube (0.5);
      glFlush ();
    }
    
    int main (int argc, char **argv)
    {
      glutInit (&argc, argv);
      glutInitDisplayMode (GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH);
      glutInitWindowSize (1024, 768);
      glutCreateWindow ("Cube");
      glMatrixMode (GL_PROJECTION);
      glLoadIdentity ();
      gluPerspective (20.0, -1.33333, 3.0, 7.0);
      glMatrixMode (GL_MODELVIEW);
      glLoadIdentity ();
      glTranslatef (0.0, 0.0, -5.0);
      glClearColor (0.0, 0.0, 0.0, 0.0);
      glEnable (GL_DEPTH_TEST);
      glEnable (GL_LIGHTING);
      glEnable (GL_LIGHT0);
      static GLfloat light0_position[] = { 1.0, 0.0, 1.0, 0.0 };
      glLightfv (GL_LIGHT0, GL_POSITION, light0_position);
      glutDisplayFunc (draw);
      glutMainLoop ();
      return 0;
    }
    

    Ich erhalte folgende Fehlermeldung vom Compiler:

    C:\.....:cube.c:<.text+0x135>: undefined reference to 'gluPerspective@32' collect2: ld gab 1 als Ende-Status zurück

    Kompilieren tue ich das ganze mit folgendem Befehl:
    gcc -Wall -O cube.c -o cube.exe -lfreeglut -lopengl32

    Durch google habe ich erfahren, dass das Problem durch anhängen von -lGLU gelöst werden kann, also:
    gcc -Wall -O cube.c -o cube.exe -lfreeglut -lopengl32 - lGLU

    Da sagt er mir aber dann:
    1GLU: No such file or directory

    Wo liegt der Fehler?

    Nutze Windows 7, aktuelleste MinGW Version.



  • Ist das Lerrzeichen zwischen - und dem l bei - lGLU nur ein Schreibfehler hier im Forum? (Da gehört keins hin).

    Ansonsten: Hast du eine Datei GLU.lib (irgendwo im Suchpfad des Linkers) ?



  • DirkB schrieb:

    Ist das Lerrzeichen zwischen - und dem l bei - lGLU nur ein Schreibfehler hier im Forum? (Da gehört keins hin).

    Ansonsten: Hast du eine Datei GLU.lib (irgendwo im Suchpfad des Linkers) ?

    Das ist ein Leerzeichen gewesen. Aber auch ohne Leerzeichen klappt es nicht.

    Hab es grad mal mit:
    gcc cube.c -o cube.exe -lopengl32 -lglu32 -lfreeglut

    probiert. Damit funktioniert es einwandfrei....



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten