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 Anleitunghttp://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 -lopengl32Durch 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 - lGLUDa sagt er mir aber dann:
1GLU: No such file or directoryWo 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 -lfreeglutprobiert. 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.