Fehler im C++-Code unter Verwendung von OpenGL und Dev-cpp
-
Hallo!
Ich habe folgenden C++ Code:#include <GL/gl.h> #include <GL/glu.h> void display(void) { glClear(GL_COLOR_BUFFER_BIT); glPolygonMode(GL_FRONT, GL_LINE); glPolygonMode(GL_BACK, GL_FILL); glLoadIdentity(); gluLookAt( 0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glColor4f(1.0, 1.0, 1.0, 1.0); glBegin(GL_LINES); glVertex3f(0.0, 0.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 0.0, 1.0); glEnd(); glTranslatef(0.0, 0.0, 2.0); glBegin(GL_TRIANGLES); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 1.0, 1.0, 0.0); glVertex3f(-1.0, 1.0, 0.0); glVertex3f( 0.0, 0.0, 0.0); glVertex3f( 1.0, -1.0, 0.0); glVertex3f(-1.0, -1.0, 0.0); glEnd(); glTranslatef(0.0, 0.0, -7.0); glFlush(); } int main(int argc, char ** argv) { glClearColor(0.0, 0.0, 0.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, 1.0, 1.0, 100.0); glMatrixMode(GL_MODELVIEW); return 0; }
Allerdings scheint meinem Computer noch etwas zu fehlen, denn er zeigt diese Fehlermeldungen an:
[Linker error] undefined reference to
gluLookAt@72' [Linker error] undefined reference to
gluPerspective@32'
C:\Dev-Cpp\Makefile.win [Build Error] [Projekt1.exe] Error 1Was ist an diesen Fehlern schuld? Fehlen mir noch wichtige Dateien?
Ich bin für jede Antwort dankbar!ComputerClaus
-
Wenn du dem Linker noch sagst, dass er die glu mitlinken soll, dann ist alles in Butter
-
Hallo!
Vielen Dank für die Antwort!
Fehlermeldungen werden jetzt nach der Linkereinstellung nicht mehr ausgegeben (Ein Fenster auch nicht, aber ich glaube, das soll es auch nicht).Ich wollte jetzt einen weiteren Quelltext kompilieren, aber es scheinen mir immer noch Dateien zu fehlen / nicht verlinkt zu sein:
21 C:\... GL/glut.h: No such file or directory.
C:\... [Warning] In function:
36 C:\...36 C:\\...(Each C:\\...[Warning] In function: 56 C:\\...
glutInit'
57 C:\...`Es wäre schön, wenn auch hier jemand die Lösung wüsste!
-
Wenn du die GLUT nicht installiert hast, dann lade sie dir aus dem Netz herunter (Sie sind kein Standardpackage).
Dann installierst du sie ( zufuss ), linkst auch die Glut mit, und die Fehler sind vergangenheit.
-
Vielen Dank für den Tipp!
Ich werde mir jetzt sämtliche GLUT (alpha, arm, ...) über diesen Link downloaden: http://packages.debian.org/stable/libs/glutg3.de.html.
-
Dir reicht unter Windows das Windows Package.
Zu finden hier: http://www.xmission.com/~nate/glut.html
-
Hallo!
Vielen Dank für den Link!
Aber obwohl ich die glut-3.7.6-bin heruntergeladen, entpackt, die glut32.lib gelinkt und die dll-Datei in das WINDOWS/System-Verzeichnis kopiert habe, kommen immer noch die oben genannten Fehlermeldungen.Was könnte ich falsch gemacht haben?
-
Hast du die Header ins richtige Verzeichniss gepackt?
Die muessen ins $(INCLUDE)/GL/ Directory.
Genauso wie die Librarys ins $(LIB) Directory.Die $(...) sind durch das richtige Verzeichniss zu ersetzen
-
Vielen Dank für die Antwort!
Ich hatte dies tatsächlich noch nicht getan und habe es jetzt nachgeholt.
Jetzt habe ich nur noch 3 Fehlermeldungen:3 C:\Dokumente und Einstellungen\Mein Schlepptop\Desktop\Programme\C++\OpenGL\glut-3.7.6-bin\main.cpp
In file included from ../Dokumente und Einstellungen/Mein Schlepptop/Desktop/Programme/C++/OpenGL/glut-3.7.6-bin/main.cpp50 C:\Dev-Cpp\include\GL\glut.h
redeclaration of C++ built-in type `wchar_t'C:\Dev-Cpp\Makefile.win
[Build Error] ["../Dokumente] Error 1Ich hoffe, du hast auch auf diese Fehler wieder so eine grandiose Antwort!
-
Sieht so aus, als wenn die GLUT Bibliothek den Typ wchar_t neu definieren will.
Habe die GLUT seit Jahren nicht mehr angefasst, wird ja auch schon laenger nicht mehr weiterentwickelt.Das einzige was mir dazu einfaellt, ist in der glut.h einfach mal den Typ wchar_t auszudokumentieren. Wenn du Glueck hast, funktioniert's.
-
Ich habe auf deinen Tipp hin mal wchar_t ausdokumentiert.
Doch nun gibt es andere Meldungen des Compilers:
3 C:\Dokumente und Einstellungen\Mein Schlepptop\Desktop\main.cpp
In file included from ../Dokumente und Einstellungen/Mein Schlepptop/Desktop/main.cpp49 C:\Dev-Cpp\include\GL\glut.h
redeclaration of C++ built-in type `wchar_t'3 C:\Dokumente und Einstellungen\Mein Schlepptop\Desktop\main.cpp
In file included from ../Dokumente und Einstellungen/Mein Schlepptop/Desktop/main.cpp2 C:\Dev-Cpp\include\GL\glut.h:715
#endif without #ifC:\Dev-Cpp\Makefile.win
[Build Error] ["../Dokumente] Error 1Es wäre wirklich eine Meisterleistung, wenn du das Problem lösen könntest.
Ich hoffe, dass das Problem keine "Endlosschleife" ist
-
Ich habe das Problem jetzt gelöst: Ich hatte den falschen Abschnitt ausgeklammert, jetzt klappt das Programm aber.
Ich suche jetzt allerdings noch eine C++ Quelldatei, mit der ich testen kann, ob OpenGL jetzt richtig funktioniert.
Hat jemand einen Vorschlag? (Kann auch ein Quellcode eines OpenGL-Spiels oder Ähnlichem sein)
-
Seltsamerweise klappt GLUT in anderen Programmen nicht.
Gibt es vielleicht noch eine Möglichkeit, GLUT vollständig zu "aktivieren".
Habe ich vielleicht das falsche GLUT-Package heruntergeladen (glut-3.7.6-bin)?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Andere Compiler verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.