PDA

View Full Version : 'No such file or directory'



JimmyFo
09-09-2004, 05:36 PM
Hey, I have a quick question - I am very, very new to OpenGL and the small program that I was given to comprehend hasn't run yet (I've entered it below). When I try to run it, VC++ says: fatal error C1083: Cannot open include file: 'GL/glut.h': No such file or directory
Error executing cl.exe.

GL1.exe - 1 error(s), 0 warning(s)

The only file I have in the project is the main cpp file. I have downloaded the gl-3.7 file from this site and run the batch file to make sure I have all the proper libraries and the like. Is there something else I need to do? I've tried including the actual glut.h, but that doesn't work. Until I get my book in the mail, I have no idea what I'm doing :) Sorry about this, but any help is greatly appreciated.

-james

//***************************************
/*
* double.c
* This is a simple double buffered program.
* Pressing the left mouse button rotates the rectangle.
* Pressing the middle mouse button stops the rotation.
*/
#include <GL/glut.h>
#include <stdlib.h>

static GLfloat spin = 0.0;

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glRotatef(spin, 0.0, 0.0, 1.0);
glColor3f(1.0, 1.0, 1.0);
glRectf(-25.0, -25.0, 25.0, 25.0);
glPopMatrix();

glutSwapBuffers();
}

void spinDisplay(void)
{
spin = spin + 2.0;
if (spin > 360.0)
spin = spin - 360.0;
glutPostRedisplay();
}

void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_FLAT);
}

void reshape(int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

void mouse(int button, int state, int x, int y)
{
switch (button) {
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN)
glutIdleFunc(spinDisplay);
break;
case GLUT_MIDDLE_BUTTON:
case GLUT_RIGHT_BUTTON:
if (state == GLUT_DOWN)
glutIdleFunc(NULL);
break;
default:
break;
}
}

/*
* Request double buffer display mode.
* Register mouse input callback functions
*/
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize (250, 250);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMouseFunc(mouse);
glutMainLoop();
return 0; /* ANSI C requires main to return int. */
}

JimmyFo
09-09-2004, 06:06 PM
Compiling with GL\gl.h instead produces:

Compiling...
main.cpp
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2144: syntax error : missing ';' before type 'void'
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : error C2501: 'WINGDIAPI' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\gl\gl.h(1152) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

GL1.exe - 3 error(s), 0 warning(s)

09-09-2004, 11:37 PM
I know this is the beginners board, but what in heaven do they teach nowadays in C++ classes?

Unless you understand the concept of include files, libraries, objectfiles and last but not least what a linker is and what it does (my favorite), there is no real point in starting OpenGL coding because it will endup as a very frustrating experience where you tumble from one problem into another.

Sure, you can pick up alot while you go through some tutorials, but you need to understand the very basics of C/C++ (or any other language).

raoulduke
09-10-2004, 02:34 AM
Do you have glut installed?

If not, take a look at
http://www.opengl.org/resources/libraries/glut/glut_downloads.html#windows
and download the precompiled glut dlls and libs.
unzip them and copy the dlls to whatever:\windows\system32 or system (don't know anymore).
copy the libs to your vc_dir\vc98\lib.
then copy the glut.h to your vc_dir\vc98\include\gl\

greets
Markus