Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2012, 00:30   #1
Митовей
Пользователь
 
Регистрация: 07.04.2012
Сообщений: 30
По умолчанию ошибка LNK2019

Вот программа:
Код:
#include <windows.h>		// Заголовочныйфайлдля Windows
#include <gl\gl.h>		// Заголовочныйфайлдля OpenGL32 библиотеки
#include <gl\glu.h>		// Заголовочныйфайлдля GLu32 библиотеки
#include <gl\glaux.h>		// Заголовочныйфайлдля GLaux библиотеки

static HGLRC hRC;		// Постоянный контекст рендеринга
static HDC hDC;			// Приватный контекст устройства GDI

BOOL	keys[256];		// Массив для процедуры обработки клавиатуры

GLfloat	xrot;			// Вращение X
GLfloat	yrot;			// Y
GLfloat	zrot;			// Z

GLuint	texture[1];		// Место для одной текстуры
// Загрузка картинки и конвертирование в текстуру
GLvoidLoadGLTextures()
{
	// Загрузка картинки
	AUX_RGBImageRec *texture1;
	texture1 = auxDIBImageLoad("Data/NeHe.bmp");
	// Созданиетекстуры
	glGenTextures(1, &texture[0]);
	glBindTexture(GL_TEXTURE_2D, texture[0]);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, texture1->data);
}
GLvoid init(GLsizei Width, GLsizei Height)
{
LoadGLTextures();			// Загрузкатекстур
glEnable(GL_TEXTURE_2D);		// Разрешениеналожениетекстуры
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClearDepth(1.0);
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_SMOOTH);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);

glMatrixMode(GL_MODELVIEW);
}
GLvoid DrawGLScene(GLvoid)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glLoadIdentity();
	glTranslatef(0.0f,0.0f,-5.0f);
	glRotatef(xrot,1.0f,0.0f,0.0f);		// Вращение по оси X
	glRotatef(yrot,0.0f,1.0f,0.0f);		// Вращение по оси Y
	glRotatef(zrot,0.0f,0.0f,1.0f);		// Вращение по оси Z
	glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);

				// Передняягрань
glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);	// Низлево
glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);	// Низправо
glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);	// Верхправо
glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);	// Верхлево

				// Задняягрань
glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);	// Низправо
glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);	// Верхправо
glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);	// Верх лево
glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);	// Низлево

				// Верхняягрань
glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);	// Верхлево
glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,  1.0f,  1.0f);	// Низлево
glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f,  1.0f,  1.0f);	// Низправо
glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);	// Верхправо
	
				// Нижняягрань
glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, -1.0f, -1.0f);	// Верхправо
glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, -1.0f, -1.0f);	// Верхлево
glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);	// Низлево
glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);	// Низправо

				// Праваягрань
glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);	// Низправо
glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);	// Верхправо
glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);	// Верхлево
glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);	// Низлево

				// Леваягрань
glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);	// Низлево
glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);	// Низправо
glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);	// Верхправо
glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);	// Верхлево

glEnd();
	xrot+=0.3f;			// Ось вращения X
	yrot+=0.2f;			// Ось вращения Y
	zrot+=0.4f;			// Ось вращения Z
}

int main(int argc, char** argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
   glutInitWindowSize (500, 500); 
   glutInitWindowPosition (100, 100);
   glutCreateWindow (argv[0]);
   init (500, 500);
glutDisplayFunc(DrawGLScene); 
glutMainLoop();
return 0;
}
Вот ошибка: 1>fsdljf.obj :error LNK2019: ссылка на неразрешенный внешний символ _auxDIBImageLoadA@4 в функции "void __cdeclLoadGLTextures(void)" (?LoadGLTextures@@YAXXZ)

Последний раз редактировалось Митовей; 02.05.2012 в 00:34.
Митовей вне форума Ответить с цитированием
Старый 02.05.2012, 00:34   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Код:
GLvoidLoadGLTextures()
Тип нужно писать отдельно от имени функции
netrino вне форума Ответить с цитированием
Старый 02.05.2012, 00:44   #3
Митовей
Пользователь
 
Регистрация: 07.04.2012
Сообщений: 30
По умолчанию

Это ошибки копирования. В программе тип стоит отдельно от функции.
Митовей вне форума Ответить с цитированием
Старый 02.05.2012, 01:11   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Тогда другой вопрос, добавили ли Вы glaux.lib в опциях компоновщика (linker options)?
netrino вне форума Ответить с цитированием
Старый 02.05.2012, 01:27   #5
Митовей
Пользователь
 
Регистрация: 07.04.2012
Сообщений: 30
По умолчанию

Эмм... Нет, я даже и не знаю как это сделать.
Митовей вне форума Ответить с цитированием
Старый 02.05.2012, 02:21   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

О, это зависит от используемых средств. Судя по сообщению об ошибке, Вы используете Visual Studio, верно? Тогда нажмите Alt+F7, или выберите Project Settings в меню, там перейдите в раздел Linker Options (Настройки компоновщика) и откройте подпункт Input (или как-то так). В соответствующее поле добавьте glaux.lib.
Также возможно, хоть и не рекомендуется, подключить библиотеку следующим образом
Код:
#pragma comment(lib, "glaux.lib")
в начале исходного файла, например после включений (include). Надеюсь ничего не напутал, если не заработает, поищите в гугл на эту тему, там должно быть всё написано, так как это одна из распространённых проблем.
netrino вне форума Ответить с цитированием
Старый 02.05.2012, 18:19   #7
Митовей
Пользователь
 
Регистрация: 07.04.2012
Сообщений: 30
По умолчанию

Вообщем, с этой проблемой я разобрался... Возникла новая
LINK : не найден или не выполнена сборка D:\Новая папка\амыва\Debug\амыва.exe при последней инкрементной компоновке; выполняется полная компоновка
Митовей вне форума Ответить с цитированием
Старый 02.05.2012, 18:23   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это не ошибка.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.05.2012, 18:29   #9
Митовей
Пользователь
 
Регистрация: 07.04.2012
Сообщений: 30
По умолчанию

То есть, компиляция происходит так, как и должна?

Последний раз редактировалось Митовей; 02.05.2012 в 18:32.
Митовей вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка LNK2019 Митовей Общие вопросы C/C++ 2 01.05.2012 04:44
Ошибка LNK2019 L6go1as Общие вопросы C/C++ 3 18.04.2012 19:02
Библиотека ftd2xx.lib. Ошибка LNK2019 при компоновке NBS Помощь студентам 0 09.03.2012 15:35
Visual C++ Express, ошибка LNK2019 alexdelphi Visual C++ 13 12.02.2012 04:24
Свой класс - ошибка линковки LNK2019: ссылка на неразрешенный внешний символ... Egyptorium Общие вопросы C/C++ 7 11.01.2012 17:48