freeglut-Problem
-
Ich habe mir Glut für Visual Studio installiert, und wollte zum Test der Installation diesen Code ausführen:
#include <windows.h> #include <gl/GL.h> #include <gl/glut.h> void RenderScene() { glClear(GL_COLOR_BUFFER_BIT) ; glColor3f(1.0f, 0.0f, 0.0f) ; glRectf(100.0f, 150.0f, 150.0f, 100.0f) ; glFlush(); } void SetupRC() { glClearColor(0.0f, 0.0f, 1.0f, 1.0f) ; } void ChangeSize(GLsizei w, GLsizei h) { if (h==0) h = 1 ; glViewport(0, 0, w, h) ; glMatrixMode(GL_PROJECTION) ; glLoadIdentity() ; if (w<=h) glOrtho(0.0f, 250.f, 0.0f, 250.f * h/w, 1.0, -1.0) else glOrtho(0.0f, 250.f *w/h, 0.0f, 250.f, 1.0, -1.0) ; glMatrixMode(GL_MODELVIEW) ; glLoadIdentity() ; } int main() { glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB) ; glutCreateWindow("First Steps") ; glutDisplayFunc(RenderScene) ; glutReshapeFunc(ChangeSize) ; SetupRC() ; glutMainLoop() ; return 0 ; }
Der Code kompiliert auch anstandsfrei, es passiert nur nichts. Die EXE wird gestartet und sofort wieder beendet, und das anscheinend als Konsolenanwendung, das sich kurz ein Konsolenfenster öffnet.
Die freeglut.dll liegt im entsprechenden Verzeichnis, ich linke die Win32-DLLs und OpenGl32 und GLU32 sowie freeglut.lib hinzu.
Diese Verhalten zeigt sich auch bei anderen Test-Quellcodes, die ich ausprobiert habe.
-
starte mal mit strg+F5 (nicht nur F5), dann bleibt das fenster offen nach dem beenden (Falls es keinen absturtz gab) und du kannst lesen ob da ein fehler steht.
-
Nachdem ich es aus der Kommandozeile gestartet hatte, hatte ich die Fehlermeldung auch bemerkt. Den Tipp mit strg+F5 muss ich mir aber allgemein merken.
-
Auch wenn er nur mit Visual Studio klappt, und nicht, wenn man lediglich cl.exe benutzt und seine Programme normal startet.