Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> неразрешенный внешний символ 
:(
    Опции темы
Tensor146
Дата 26.2.2012, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 неразрешенных внешних элементов


При этом засунув енто самое в какой-то левый проект (тоже опен жл-ный), у меня всё работает. Что я делаю не так?
PM MAIL   Вверх
volatile
Дата 26.2.2012, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: нет
Всего: 85



В опциях проекта (смотреть линковщик) нужно добавить библиотеки
opengl32.lib
glu32.lib
glaux.lib

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0620 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.