UES when compiling NeHe's 1st tutorial
Hello everyone,
I just started NeHe's first OpenGl tutorial and am having a problem when compiling. I get an Unresolved External symbol whenever compiling. Included below is the error and code.
Error:
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/OpenGL.exe : fatal error LNK1120: 1 unresolved externals
// START CODE //////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
// Main.cpp:
// Run-Time Entrance
/////////////////////////////////////////////////////////////////////
// INCLUDES /////////////////////////////////////////////////////////
#include "windows.h"
#include "windowsx.h"
#include "gl\gl.h"
#include "gl\glu.h"
#include "gl\glaux.h"
// GLOBALS //////////////////////////////////////////////////////////
HDC hDC; // Handle to a Device Context
HGLRC hRC; // Handle to a Rendering Context
HWND hWnd; // Handle to a window
bool keys[256]; // Array used for the keyboard function
bool active = TRUE; // Windows active flag
bool fullscreen = TRUE; // Fullscreen flag
// PROTOTYPES ///////////////////////////////////////////////////////
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
// FUNCTIONS ////////////////////////////////////////////////////////
// Resize and initialize the GL window
GLvoid ResizeGLScene(GLsizei width, GLsizei height)
{
if (height == 0) // Prevent a divide by zero by
height = 1; // making height equal to one
glViewport(0, 0, width, height); // Reset current viewport
glMatrixMode(GL_PROJECTION); // Select the projection matrix
glLoadIdentity(); // Reset projection matrix
// Calculate the aspect ratio of the window
gluPerspective(45.0f, (GLfloat)width / (GLfloat)height ,0.1f ,100.0f);
glMatrixMode(GL_MODELVIEW); // Select the Modelview Matrix
glLoadIdentity(); // Reset projection maxtrix
}
/////////////////////////////////////////////////////////////////////
// Initialize OpenGl
int InitGL(GLvoid)
{
glShadeModel(GL_SMOOTH); // Enables smooth shading
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Color to clear to (black)
glClearDepth(1.0); // Depth buffer setup
glEnable(GL_DEPTH_TEST); // Enable depth testing
glDepthFunc(GL_LEQUAL); // Depth test to do
// Give a really nice perspective calculations
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
return TRUE;
}
/////////////////////////////////////////////////////////////////////
// Do all the drawing here
int DrawGLScene(GLvoid)
{
// Clear the screen and add the depth buffer
glClear(GL_COLOR_BUFFER_BIT / GL_DEPTH_BUFFER_BIT);
glLoadIdentity(); // Reset Matrix
return TRUE;
}
/////////////////////////////////////////////////////////////////////
// Properly destroy the window
GLvoid KillGLWindow(GLvoid)
{
if (fullscreen) // Are we in fullscreen mode?
{
ChangeDisplaySettings(NULL, 0); // If so, switch to window
ShowCursor(TRUE); // Show mouse pointer
}
if (hRC)
{
if (!wglMakeCurrent(NULL, NULL)) // Can we release DC and RC
{
MessageBox(NULL, "Release of DC and RC Failed.", "Shutdown Error", MB_OK / MB_ICONINFORMATION);
}
if (!wglDeleteContext(hRC))
{
MessageBox(NULL, "Release of rendering context failed.", "Shutdown Error", MB_OK / MB_ICONINFORMATION);
}
hRC = NULL;
}
if (hDC && ReleaseDC(hWnd, hDC))
{
MessageBox(NULL, "Release of hDC failed.", "Shutdown Error", MB_OK / MB_ICONINFORMATION);
hDC = NULL;
}
if (hWnd && !DestroyWindow(hWnd))
{
MessageBox(NULL, "Could not destroy active window.", "Shutdown Error", MB_OK / MB_ICONINFORMATION);
hWnd = NULL;
}
}
// END CODE ////////////////////////////////////////////////
Anyone have a clue why this is happening?
Edited by - Reaptide on 4/7/00 4:28:31 PM
You probably are using a Windowed application instead of a console one (or vice versa). Check that.
----------------------------------------"Inash neteia haeg joa kavari quilm..." SD4
You aren''t supplying an entry point for your code. When compiling for Windows you need either a main or a WinMain function (depending on if it''s a console or windows applicaiton). In this case you need to create a WinMain function that will initialize your windows, setup callback functions, etc. If you were just following along rather than downloading the tutorial, his WinMain is specified about 90% down the page.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement