Probleme mit OpenGL



  • Hallo

    Ich habe Problem mit der Einbindung einiger Header-Dateien. Und zwar will ich ein einfaches Programm schreiben, dass mir mittels OpenGL ein weißés Rechteck zeichnet. Dazu muss ich ja entsprechende Dateien einbinden.

    #include <gl/gl.h>
    #include <gl/glu.h>
    

    Der eigentliche Quelltext sieht wie folgt aus:

    void init()
    {
    	/* set clearing (background) color */
    	glClearColor(0.0, 0.0, 0.0, 0.0);
    	/* initialize viewing values */
    	glMatrixMode( GL_PROJECTION );
    	glLoadIdentity();
    	glOrtho( 0.0, 1.0, 0.0, 1.0, -1.0, 1.0 );
    }
    
    void display()
    {
    	/* clear all pixels */
    	glClear( GL_COLOR_BUFFER_BIT );
    	/* draw a whit polygon */
    	glColor3f( 1.0, 1.0, 1.0 );
    	glBegin( GL_POLYGON );
    		glVertex3f( 0.25, 0.25, 0.0 );
    		glVertex3f( 0.75, 0.25, 0.0 );
    		glVertex3f( 0.75, 0.75, 0.0 );
    		glVertex3f( 0.25, 0.75, 0.0 );
    	glEnd();
    	/* don't wait, start processing the buffered routines */
    	glFlush();
    }
    
    int main( int argc, char** argv )
    {
    	/* initialize "glut" */
    	glutInit( &argc, argv );
    	/* initialze the DisplayMode */
    	glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
    	/* initialize Window position and size */
    	glutInitWindowPosition( 100, 100 );
    	glutInitWindowSize( 250, 250 );
    	/* create the window */
    	glutCreateWindow( "hello" );
    
    	init();
    	glutDisplayFunc( display );
    	/* enter the glut main loop */
    	glutMainLoop();
    
    	return 0;
    }
    

    Nu hab ich festgestellt, dass es in diesem Fall Fehlermeldungen gibt und im Netz geforscht. Dort stand ziemlich allgemein, man solle die <windows.h> noch vor der <gl/gl.h> includen. Hab ich dann auch gemacht, bekomme nur dummerweise statt 3 Fehlern gleich neune 😃

    die Fehlermeldungen sehen so aus:

    Compiling...
    main.cpp
    h:\uebung\opengl_1\main.cpp(35) : error C2065: 'glutInit' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(37) : error C2065: 'glutInitDisplayMode' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(37) : error C2065: 'GLUT_SINGLE' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(37) : error C2065: 'GLUT_RGB' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(39) : error C2065: 'glutInitWindowPosition' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(40) : error C2065: 'glutInitWindowSize' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(42) : error C2065: 'glutCreateWindow' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(45) : error C2065: 'glutDisplayFunc' : undeclared identifier
    h:\uebung\opengl_1\main.cpp(47) : error C2065: 'glutMainLoop' : undeclared identifier
    Error executing cl.exe.
    
    opengl_1.exe - 9 error(s), 0 warning(s)
    

    Bevor nun der Vorschlag kommt, ich solle doch das glut-Package herunterladen und einbinden, muss ich gleich sagen, dass es an dem Rechenr, an dem ich arbeite aus administrativen Gründen nicht möglich ist... 😞 Aber irgendwie muss die Sache ja auch so funktionieren. Habt ihr Vorschläge, Anregungen oder sonstiges, was ich machen könnte?

    MfG
    Neron


Anmelden zum Antworten