PMG

Форумы по созданию игр
Текущее время: 06 дек 2024 03:16

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы с Уроком 1
СообщениеДобавлено: 05 ноя 2013 22:02 
Не в сети
Новичок

Зарегистрирован: 05 ноя 2013 21:52
Сообщения: 5
Здравствуйте. У меня возникает такая проблема, в Visual Studio 2012 загружаю скачанный исходник, выдает ошибки, переписал код сам, выдает другие ошибки. Что делать?
Вот код. http://pastebin.com/L0n3gf4y
Вот ошибки:

Цитата:
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__wglCreateContext@4 в функции "bool __cdecl CreateGLWindow(wchar_t const *,int,int,int,bool)" (?CreateGLWindow@@YA_NPB_WHHH_N@Z)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__wglDeleteContext@4 в функции "void __cdecl KillGLWindow(void)" (?KillGLWindow@@YAXXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__wglMakeCurrent@8 в функции "bool __cdecl CreateGLWindow(wchar_t const *,int,int,int,bool)" (?CreateGLWindow@@YA_NPB_WHHH_N@Z)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClear@4 в функции "int __cdecl DrawGLScene(void)" (?DrawGLScene@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClearColor@16 в функции "int __cdecl InitGL(void)" (?InitGL@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClearDepth@8 в функции "int __cdecl InitGL(void)" (?InitGL@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glDepthFunc@4 в функции "int __cdecl InitGL(void)" (?InitGL@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glEnable@4 в функции "int __cdecl InitGL(void)" (?InitGL@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glHint@8 в функции "int __cdecl InitGL(void)" (?InitGL@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glLoadIdentity@0 в функции "int __cdecl DrawGLScene(void)" (?DrawGLScene@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMatrixMode@4 в функции "void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glShadeModel@4 в функции "int __cdecl InitGL(void)" (?InitGL@@YAHXZ)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glViewport@16 в функции "void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ _gluPerspective@32 в функции "void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z)
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) в функции "bool __cdecl CreateGLWindow(wchar_t const *,int,int,int,bool)" (?CreateGLWindow@@YA_NPB_WHHH_N@Z)
1>C:\Users\Артём\Documents\Visual Studio 2012\Projects\Win32Project5\Debug\Win32Project5.exe : fatal error LNK1120: неразрешенных внешних элементов: 15
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с Уроком 1
СообщениеДобавлено: 06 ноя 2013 03:49 
Не в сети
Новичок

Зарегистрирован: 31 окт 2013 07:49
Сообщения: 4
У вас не подключены библиотеки Glu32.lib и OpenGL32.lib. Их надо ввести в Свойствах проекта в свойствах конфигурации->компоновщик->ввод->дополнительные зависимости.
Вообще исходные коды лучше брать в оригинале на http://nehe.gamedev.net/ (адаптация к Visual C++ MS VS 2010/2012 http://pmg.org.ru/nehe/nehex3.htm, коды и демо на http://pmg.org.ru/nehe/LessonsCode_2010.7z)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с Уроком 1
СообщениеДобавлено: 06 ноя 2013 20:58 
Не в сети
Новичок

Зарегистрирован: 05 ноя 2013 21:52
Сообщения: 5
TusGlob писал(а):
У вас не подключены библиотеки Glu32.lib и OpenGL32.lib. Их надо ввести в Свойствах проекта в свойствах конфигурации->компоновщик->ввод->дополнительные зависимости.
Вообще исходные коды лучше брать в оригинале на http://nehe.gamedev.net/ (адаптация к Visual C++ MS VS 2010/2012 http://pmg.org.ru/nehe/nehex3.htm, коды и демо на http://pmg.org.ru/nehe/LessonsCode_2010.7z)



всё сделал как вы сказали, теперь мои инклуды выглядят так и к ним прибавилось две прагмы

Код:
#include <windows.h>
#include <gl\gl.h>         
#include <gl\glu.h>         
#include <glaux.h>
#include <glut.h>

#pragma comment (lib, "opengl32.lib")
#pragma comment (lib, "glut32.lib")


и кол-во ошибок уменьшилось, до 1. Я уже пробовал подключить всё что можно, но ошибка остается. :(

Цитата:
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) в функции "bool __cdecl CreateGLWindow(wchar_t const *,int,int,int,bool)" (?CreateGLWindow@@YA_NPB_WHHH_N@Z)
1>C:\Users\Артём\Documents\Visual Studio 2012\Projects\Win32Project5\Debug\Win32Project5.exe : fatal error LNK1120: неразрешенных внешних элементов: 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с Уроком 1
СообщениеДобавлено: 07 ноя 2013 05:43 
Не в сети
Новичок

Зарегистрирован: 31 окт 2013 07:49
Сообщения: 4
Очевидно, для MS VS 2010/2012 для прцедуры WindowProc нужны какие-то дополнительные установки. Пока я их не нашел. В предыдущих версиях оно работает.
Чтобы лишнего не париться, можно взять проект LessonsCode_2010/lesson 01/GLSetup из http://pmg.org.ru/nehe/LessonsCode_2010.7z, пояснения на http://pmg.org.ru/nehe/nehex3.htm.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с Уроком 1
СообщениеДобавлено: 07 ноя 2013 12:09 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Вначале у вас задан идентификатор - LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);
А потом по тексту нет его, только
LRESULT CALLBACK WndProc(HWND LinkWindow,

UINT uMessage,

WPARAM wParam,

LPARAM lParam)
Это скорее всего одно и тоже. Так что замените WndProc на WindowProc... или наоборот...

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с Уроком 1
СообщениеДобавлено: 07 ноя 2013 17:09 
Не в сети
Новичок

Зарегистрирован: 05 ноя 2013 21:52
Сообщения: 5
Спасибо вам обоим, огромное :-) всё заработало, действительно имя функции нужно было поменять :-) впредь буду внимательней.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB