PDA

View Full Version : problem with a sample program



d_master_x
06-01-2005, 01:16 PM
Hello, I'm new to OpenGL and I just bought the "redBook". I tried the first program: hello.c (see code below) and when I try to compile (with dev-C++ and the .NET framework[c++ compilers]) and it works, but for some reason it won't link.

Note that I tried to add #include<windows.h>, since I have windows, #include<GL/gl.h> and #include<GL/glu.h>, but it still didn't work.


#include<GL/glut.h>

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
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.25, 0.0);
glVertex3f(0.25, 0.75, 0.0);
glEnd();
glFlush();
}

void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}

int main(int argc, char** argv)
{
glutInit(&amp;argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250, 250);
glutInitWindowPosition(100, 100);
glutCreateWindow("hello");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Thank you for your answers.
The Master

dvm
06-01-2005, 01:46 PM
Windows.h does not have a place in a simple program. You're adding a lot of stuff you don't need. You should explicitly link with opengl32.lib glu.lib, glut.lib. Usually the glut header file does this for you (for visual studio). Are you using the microsoft compiler or gcc? I don't know how one would link a file for microsoft from the command line, but for gcc in linux it's -lglut. If you're using the microsoft compiler, why don't you download the 2005 express or beta?

Ehsan Kamrani
06-01-2005, 01:57 PM
In Microsoft visualC++ 6.0 compiler, you can-should- use from the win32 consol application projects to compile your programs written with *GLUT*.In this case, you don't need to link new libraries.But i have no idea about dev-C++ and the .NET framework[c++ compilers].
-Ehsan-

d_master_x
06-01-2005, 05:40 PM
It works! Thx a lot dudes.

The Master,
May the code be with you