Новичок
Профиль
Группа: Участник
Сообщений: 17
Регистрация: 20.1.2012
Репутация: нет Всего: нет
|
Такое дело. Скачал код-пример: Код |
#include <windows.h>
#include <GL/gl.h> #include <GL/glu.h> #include <glaux.h>
int alpha=0, beta=0;
void CALLBACK mouse(AUX_EVENTREC *event) { static int x0,y0=-12345;
if(y0!=-12345) { alpha += event->data[AUX_MOUSEX] - x0; beta += event->data[AUX_MOUSEY] - y0; }
x0 = event->data[AUX_MOUSEX]; y0 = event->data[AUX_MOUSEY]; }
void CALLBACK Key_LEFT(void) { alpha -= 5; }
void CALLBACK Key_RIGHT(void) { alpha += 5; }
void CALLBACK Key_UP(void) { beta += 5; }
void CALLBACK Key_DOWN(void) { beta -= 5; }
void CALLBACK resize(int width,int height) { glViewport(0,0,width,height); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); glOrtho(-5,5, -5,5, 2,12); gluLookAt(0, 0, 5, 0,0,0, 0,1,0 ); glMatrixMode( GL_MODELVIEW ); }
void snowman() { glPushMatrix(); glColor3d(0.75,0.75,0.75);
glTranslated(0,-3,0); auxSolidSphere(2.0);
glTranslated(0,3,0); auxSolidSphere(1.5); glTranslated(0,2,0); auxSolidSphere(1);
glColor3d(0,0,0);
glTranslated(-0.3,0.3,1); auxSolidSphere(0.1);
glTranslated(0.6,0,0); auxSolidSphere(0.1);
glTranslated(-0.3,-0.3,0); glColor3d(1,0,0); auxSolidCone(0.3,0.5);
glTranslated(0,0.75,-1); glColor3d(0,0,1); glRotated(-90,1,0,0); auxSolidCone(0.75,0.75);
glPopMatrix(); }
void CALLBACK display(void) { glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glPushMatrix(); glRotated(alpha, 0,1,0); glRotated(beta, -1,0,0); //auxSolidTorus(0.5, 1); snowman(); glPopMatrix(); auxSwapBuffers();
}
void main() { float pos[4] = {3,3,3,1}; float dir[3] = {-1,-1,-1}; GLfloat mat_specular[] = {1,1,1,1};
auxInitPosition( 50, 10, 400, 400); auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE ); auxInitWindow( L"Controls" ); auxIdleFunc(display); auxReshapeFunc(resize);
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0, GL_POSITION, pos); glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialf(GL_FRONT, GL_SHININESS, 128.0);
auxKeyFunc(AUX_LEFT, Key_LEFT); auxKeyFunc(AUX_RIGHT, Key_RIGHT); auxKeyFunc(AUX_UP, Key_UP); auxKeyFunc(AUX_DOWN, Key_DOWN);
auxMouseFunc(AUX_LEFTBUTTON, AUX_MOUSELOC, mouse);
auxMainLoop(display); }
|
По какой-то причине он не работает, ругается, что: Код | 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _gluLookAt@72 в функции "void __stdcall resize(int,int)" (?resize@@YGXHH@Z) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glOrtho@48 в функции "void __stdcall resize(int,int)" (?resize@@YGXHH@Z) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glLoadIdentity@0 в функции "void __stdcall resize(int,int)" (?resize@@YGXHH@Z) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMatrixMode@4 в функции "void __stdcall resize(int,int)" (?resize@@YGXHH@Z) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glViewport@16 в функции "void __stdcall resize(int,int)" (?resize@@YGXHH@Z) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glPopMatrix@0 в функции "void __cdecl snowman(void)" (?snowman@@YAXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glRotated@32 в функции "void __cdecl snowman(void)" (?snowman@@YAXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxSolidCone@16 в функции "void __cdecl snowman(void)" (?snowman@@YAXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxSolidSphere@8 в функции "void __cdecl snowman(void)" (?snowman@@YAXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glTranslated@24 в функции "void __cdecl snowman(void)" (?snowman@@YAXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glColor3d@24 в функции "void __cdecl snowman(void)" (?snowman@@YAXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glPushMatrix@0 в функции "void __cdecl snowman(void)" (?snowman@@YAXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxSwapBuffers@0 в функции "void __stdcall display(void)" (?display@@YGXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClear@4 в функции "void __stdcall display(void)" (?display@@YGXXZ) 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxMainLoop@4 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxMouseFunc@12 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxKeyFunc@8 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMaterialf@12 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMaterialfv@12 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glLightfv@12 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glEnable@4 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxReshapeFunc@4 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxIdleFunc@4 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxInitWindowW@4 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxInitDisplayMode@4 в функции _main 1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _auxInitPosition@16 в функции _main 1>C:\*.exe : fatal error LNK1120: 26 неразрешенных внешних элементов
|
При этом засунув енто самое в какой-то левый проект (тоже опен жл-ный), у меня всё работает. Что я делаю не так?
|