| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Текстура в OpenGL |
| Автор: Prolss 19.5.2011, 19:03 | ||
Помогите пожалуйсто. Скачал исходник с ним папка "Data" в ней файл .bmp Куда кидать .bmp незнаю. Куда не пробовал ложить, не компилится.. Вот код:
Вот ошибки: Linking... Source1.obj : error LNK2019: unresolved external symbol _auxDIBImageLoadA@4 referenced in function "void __cdecl LoadGLTextures(void)" (?LoadGLTextures@@YAXXZ) D:\downloads\vs2008\vvss\opkart\Debug\opkart.exe : fatal error LNK1120: 1 unresolved externals |
| Автор: Rickert 24.5.2011, 14:28 |
| А при чём здесь местоположения *.bmp рисунка? Вам необходимо подключить glaux библиотеку. |
| Автор: Vetos 24.5.2011, 20:38 |
| Для того чтоб это сделать, нужно скачать glaux.dll, glaux.lib, glaux.h. Незнаю, это моё ИМХО, но я бы не советовал использовать эту библиотеку, есть элементарный загрузчик *.tga файлов для текстуры, и кроме GL и стандартных Win библиотек ничего подключать не надо. Если всетаки glaux то закинь glaux.dll в папку с проектом, и с исполняемым файлом её также надо таскать(вроде как, вдруг у когото на компе нет этой DLL) P.S. Заметил что это код NeHe, у него же есть урок и по загрузке TGA, посмотри его. |
| Автор: Prolss 25.5.2011, 02:45 |
| У меня все библиотеки подключены.. Посмотрю tga |
| Автор: Prolss 26.5.2011, 22:26 |
| Rickert, наверно вы правы.. но вроде все(glaux) подключены.. Vetos, с TGA. всё получилось. Спасибо! Скажите пожалуйсто, почему отдельно .exe не работает. "Прога" работает только когда в среде компилишь.. У меня VS 2008 |
| Автор: Vetos 27.5.2011, 00:17 |
| скинь скрин проекта, тоесть дерево каталогов, пооткрывай в проводнике, сделай скрин в паинте обрежь и закинь сюда. Если не работает на другом компе, тогда какая ошибка, если на твоем, опять же какая ошибка? Перед компиляцией нужно выбрать Release, появится одноименная папочка, exe нужно брать оттуда(это если вдруг ехе ты берешь из Debug). Вообщем берешь exe из Release, если текстуры и (или) модели(или)еще чего имеется, закидываешь в папку с ехе, вообщем глянь как я собираю. Если вдруг используешь какую либо нестандартную библиотеку, в папку с исполняемым файлом также необходимо закинуть DLL. Вообщем посмотри поковыряй если чо пиши |
| Автор: Prolss 27.5.2011, 00:49 |
| То как ты сделал скрин, я чёто не пойму как делать.. Вот что происходит "запуская" отдельно .exe : Через Release, тоже самое.. |
| Автор: Vetos 27.5.2011, 17:48 |
| Хех, ну онож тебе пишет что неможет найти текстуру)))и изза этого непроходит инициализацию. Вообщем что тебе нужно для зборки приложения: 1) Исполняемый файл(он у тебя есть и отлично работает!) 2) Файл(ы) с текстурой(ами), которую(е) ты используешь. Вот на этом остановимся поподробнее. Ты когда компилишь в среде, ты куда кидаешь файлиг с текстуркой. В папку с исходным кодом? В папку Data? вот бери эту папку(файл) и закидывай в папку с .ехе. Все должно работать. Если неполучается, тогда скинь мне пути фалов ехе и текстуры, я тебе тогда скажу точно что куда положить |
| Автор: Prolss 27.5.2011, 18:32 |
| Vetos, Спасибо! работает... Жаль, я плюс поставить не могу(надо 100постов), а можно как то запихнуть текстуру в .exe ? |
| Автор: Vetos 28.5.2011, 11:49 | ||||
Да, можно! Только вначале нужно написать прогу, которая загрузит в память TGA(ето есть у NeHe
потом просто скармливаешь этот массив ОГЛу примерно так:
Скорее всего существует еще несколько способов, но это самый простой(или нет?))))) Ввобщем думаю принцип понятен. Если ты не можешь(или нехочешь) заморачиваться с переводом массива в текстовый файл, можешь набрать цвета пиксело вручную |
| Автор: Prolss 28.5.2011, 12:12 |
| Vetos , спасибо ещё раз , буду "вникать"... Прошу прощение за наглость(прсто вы один кто помогает).. вы не могли бы мне чего нибудь посоветовать по решению ошибок в GLAUX(в инете много интересных примеров тот же нехе). .lib, .dll, и .h от GLAUX, вроде закинул(туда где и glu,glut..)но всё равно те же ошибки что в 1посте писал.. может дело в коде? |
| Автор: Vetos 28.5.2011, 13:31 | ||
Да, в коде
просто либу нужно еще в настройках проекта прописать, но проще через прагму коммент))) |
| Автор: Prolss 28.5.2011, 17:25 | ||||
Vetos, не помогает, выдаёт: lesson6.cpp d:\downloads\vs2008\vvss\lesson06\lesson6.cpp(41) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(237) : see declaration of 'fopen' Linking... lesson6.obj : error LNK2019: unresolved external symbol _auxDIBImageLoadA@4 referenced in function "struct _AUX_RGBImageRec * __cdecl LoadBMP(char *)" (?LoadBMP@@YAPAU_AUX_RGBImageRec@@PAD@Z) .\Debug/Lesson6.exe : fatal error LNK1120: 1 unresolved externals Читал чтобы не было этого - > warning C4996: 'fopen', надо это: _CRT_SECURE_NO_WARNINGS прописать в project/CC++/Preprocessor/Preprocessor Definitions, прописал но не чего не изменилось.. PS: у меня работают все (GLAUX) примеры,исходники в которых не используются текстуры, а примеры с текстурами не работают.. |
| Автор: Vetos 28.5.2011, 18:43 |
| Незнаю у меня все работает и без прагмы, в уроках нехе в настройках проекта либа уже прописана. Вообщем возьми поменяй свою либу, возможно она у тебя старая. |
| Автор: Prolss 28.5.2011, 19:55 |
| Vetos, Ура!!! всё,всё работает.. в 101раз СПАСИБО! Странно както ты выложил GLAUX, 1998г.., а у меня стоял 2006года и вес чуть больше.. поменял на твой и всё заработало.. вот мой файл(glaux): |
| Автор: Prolss 28.5.2011, 19:55 |
| Vetos, Ура!!! всё,всё работает.. в 101раз СПАСИБО! Странно както ты выложил GLAUX, 1998г.., а у меня стоял 2006года и вес чуть больше.. поменял на твой и всё заработало.. вот мой файл(glaux): |
| Автор: Vetos 28.5.2011, 23:00 |
| Ну вот и отлично, поставь пожалуйсто галочку в опциях темы(пометить вопрос решенным) |