openGL compiler errors

borealiss

Senior member
Jun 23, 2000
913
0
0
i am getting a linking error when i compile the following code below. i've included all libaries and i know this code compiles as i've seen it do so on another computer, it just won't do it on mine

//================
#include <GL/glut.h>
#include <stdlib.h>

void display(void)
{
/* clear all pixels */
glClear (GL_COLOR_BUFFER_BIT);

/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
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 buffered OpenGL routines
*/
glFlush ();
}

void init (void)
{
/* select clearing 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);
}

/*
* Declare initial window size, position, and display mode
* (single buffer and RGBA). Open window with &quot;hello&quot;
* in its title bar. Call initialization routines.
* Register callback function to display graphics.
* Enter main loop and process events.
*/
int main(int argc, char** argv)
{
glutInit(&amp;argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (250, 250);
glutInitWindowPosition (100, 100);
glutCreateWindow (&quot;hello&quot;);
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ANSI C requires main to return int. */
}
//=======================

my compiler error messages are as follows:

Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

1.exe - 2 error(s), 1 warning(s)

//=========================
what i don't understand is the &quot;error LNK2001: unresolved external symbol _WinMain@16&quot; command line. msdev says that i need to specify an entry into wWinMainCRTStartup in the project->settings dialup box under &quot;link&quot;. i've done this already and it still generates the error, anybody know what's going on?

i also posted this in the hardocp forum http://hardforum.com/showthread.php?threadid=73471[L=here]
 

Argo

Lifer
Apr 8, 2000
10,045
0
0
include #windows.h. If that doesn't help, then go to the Project->Settings->Link and make sure the following files are present:

kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
 

Argo

Lifer
Apr 8, 2000
10,045
0
0
LNK2001: unresolved external symbol


This error usually means that windows has found the declaration for the function or gloab variable and thefore the file was compiled. However, during the link time, it failed to to find appropriate object code. To correct the problem you need to find the file where the missing function is located, and then, if it's a *.cpp file add it to the project, and if it's a *.lib file add it the the link list.
 

Argo

Lifer
Apr 8, 2000
10,045
0
0
Yeah, that takes care of adding appropriate *.lib files to the link list :)