|
|
小弟初学OpenGL,在看《编程指南》红宝书时里面的第一个程序硬是通不过:
代码如下:
#include <windows.h>
#include <GL/glut.h>
#include <stdlib.h>
# pragma comment(lib,"opengl32.lib")
# pragma comment(lib,"glu32.lib")
# pragma comment(lib,"glaux.lib")
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 "hello"
* 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(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(100,100);
glutCreateWindow("hello");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ANSI C requires main to return int. */
}
总是提示错误如下:
ex105.obj : error LNK2001: unresolved external symbol ___glutInitWithExit@12
ex105.obj : error LNK2001: unresolved external symbol ___glutCreateWindowWithExit@8
Debug/ex105.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
我的工程中已经包含了glut.lib了,为什么仍然出错??? |
|