Hi all,
I have a big problem (well, for me, it’s big, but I am sure it’s nothing for you!).
I am using freeglut, and the magic glutLeaveMainLoop function.
Freeglut is installed and working. I have no problem using freeglut, except when I try to glutLeaveMainLoop. It says ‘undefined reference to ‘glutLeaveMainLoop’’. I have been trying for hours to figure out why, but I can’t!
I have tried replacing freeglut by openglut (no, I didn’t forget to change the includes!), and nothing!
I would be very grateful if someone can help me!!!
Here is my code:
#include <GL/freeglut_std.h>
#include <GL/freeglut_ext.h>
#include <stdlib.h>
void quad()
{
glBegin(GL_QUADS);
glVertex2f( 0.0f, 1.0f); // Top Left
glVertex2f( 1.0f, 1.0f); // Top Right
glVertex2f( 1.0f, 0.0f); // Bottom Right
glVertex2f( 0.0f, 0.0f); // Bottom Left
glEnd();
}
void draw()
{
// Make background colour black
glClearColor( 0, 0, 0, 0 );
glClear ( GL_COLOR_BUFFER_BIT );
// Push the matrix stack - more on this later
glPushMatrix();
// Set drawing colour to blue
glColor3f( 0, 0, 1 );
// Move the shape to middle of the window
// More on this later
glTranslatef(-0.5, -0.5, 0.0);
// Call our Quad Method
quad();
// Pop the Matrix
glPopMatrix();
// display it
glutSwapBuffers();
}
// Keyboard method to allow ESC key to quit
void keyboard(unsigned char key,int x,int y)
{
if(key==27){
glutLeaveMainLoop();
}
}
int main(int argc, char **argv)
{
// Double Buffered RGB display
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE);
// Set window size
glutInitWindowSize( 500,500 );
glutCreateWindow("Test");
// Declare the display and keyboard functions
glutDisplayFunc(draw);
glutKeyboardFunc(keyboard);
// Start the Main Loop
glutMainLoop();
}