PMG https://forum.pmg.org.ru/ |
|
Проблемы с Уроком 1 https://forum.pmg.org.ru/viewtopic.php?f=1&t=9470 |
Страница 1 из 1 |
Автор: | artemiyplus [ 05 ноя 2013 22:02 ] |
Заголовок сообщения: | Проблемы с Уроком 1 |
Здравствуйте. У меня возникает такая проблема, в 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 ========== |
Автор: | TusGlob [ 06 ноя 2013 03:49 ] |
Заголовок сообщения: | Re: Проблемы с Уроком 1 |
У вас не подключены библиотеки 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) |
Автор: | artemiyplus [ 06 ноя 2013 20:58 ] |
Заголовок сообщения: | Re: Проблемы с Уроком 1 |
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 ========== |
Автор: | TusGlob [ 07 ноя 2013 05:43 ] |
Заголовок сообщения: | Re: Проблемы с Уроком 1 |
Очевидно, для 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. |
Автор: | MagicWolf [ 07 ноя 2013 12:09 ] |
Заголовок сообщения: | Re: Проблемы с Уроком 1 |
Вначале у вас задан идентификатор - LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); А потом по тексту нет его, только LRESULT CALLBACK WndProc(HWND LinkWindow, UINT uMessage, WPARAM wParam, LPARAM lParam) Это скорее всего одно и тоже. Так что замените WndProc на WindowProc... или наоборот... |
Автор: | artemiyplus [ 07 ноя 2013 17:09 ] |
Заголовок сообщения: | Re: Проблемы с Уроком 1 |
Спасибо вам обоим, огромное всё заработало, действительно имя функции нужно было поменять впредь буду внимательней. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |