Code::Blocks + modern OpenGL
Таки намучал себе новый OpenGL к любимому C::B и хочу поделить своим опытом, вдруг у кого будут проблемы.
Мы будем работать с: Code::Blocks GLEW GLFW Для начала, если нету, качаем C::B с официального сайта. Запускаем, создаем пустой проект(File->New->Project->Empty project). C::B не закрываем, пусть висит. Теперь качаем GLFW. Заходим на официальный сайт(см. выше), Download->Binaries for 32(64)-bit Windows Download. Качаем, распаковываем в любую папку. Теперь качаем GLEW. Заходим на главную и качаем не Bin а Source. Авторы не раскрыли, что ещё кроме их либ нужно подключить, чтобы GLEW заработал, поэтому нам придется подрубить его вручную. Тоже распаковываем это дело в любую папку. Разворачиваем наш C::B. Можете настроить его под проект, либо же установить глобальные настройки, дело ваше. Я расскажу как настроить под наш текущий проект. Слева, во вкладке Workspace, будет значок C::B с именем вашего проекта. Правая кнопка мыши->Build options->Linker settings. В other linker options пишем следующую строку: Код:
-lglfw3 -lopengl32 -lgdi32 -luser32 -lkernel32 Вкладка Compiler: здесь указываем пути к нашим include папкам библиотек. У меня получилось следующие: D:\OGL\GLFW\include D:\OGL\GLEW\inlcude Вкладка Linker: здесь указываем пути к lib папке GLFW. У меня получилось следующие: D:\OGL\GLFW\lib-mingw Та-дам, мы настроили C::B на работу. Теперь создадим файл "main.cpp" в папке с нашим проектом и заполним его следующим кодом: Нажимаем F9, видим белый треугольник и "WIN!" в консоли, радуемся тому, что у нас есть поддержка OpenGL 4.3 в отличном IDE - Code::Blocks. Спасибо за внимание, надеюсь, кому-нибудь пригодится:) |
Ответ: Code::Blocks + modern OpenGL
Выдает:
Цитата:
|
Ответ: Code::Blocks + modern OpenGL
Проверь пути во вкладке Compiler, возможно не то указал.
|
Ответ: Code::Blocks + modern OpenGL
Цитата:
|
Ответ: Code::Blocks + modern OpenGL
Там же, где и glew.h .
|
Ответ: Code::Blocks + modern OpenGL
Цитата:
|
Ответ: Code::Blocks + modern OpenGL
В папку /include/GL.
|
Ответ: Code::Blocks + modern OpenGL
Глупый вопрос но все же задам его. Как добавить поддержку предыдущих версий GL?)
|
Ответ: Code::Blocks + modern OpenGL
Использовать старые версии OGL. Нельзя совместить функционал и нового и старого в одном проекте, как я понимаю, ведь там совсем разные подходы.
|
Ответ: Code::Blocks + modern OpenGL
Какой самый правильным способ объединить несколько библиотек в одну DLL? Запихнуть все исходники в один и из него уже запилить DLL?
|
Ответ: Code::Blocks + modern OpenGL
Цитата:
как показала практика - это самый удобный способ. Собирать статические либы в виде компонентов, или тем более длл-лок оказалось очень муторно. Да, увеличивается время компиляции и особенно время линковки, но зато настройки проекта можно менять очень быстро. Не собирая тыщи либ на каждый чих. |
Ответ: Code::Blocks + modern OpenGL
Ещё один вопрос касательно создания библиотеки. Как сделать статичную либу, которая использует для своей работы другие статичные либы?
Для поддержки OGL, приходится использовать как минимум следующие флаги:"-lopengl32 -lgdi32 -luser32 -lkernel32". Поэтому, если либа работает с OGL, она должна включить в себя данные библиотеки, что делать она отказывается:( Как быть? |
Ответ: Code::Blocks + modern OpenGL
Цитата:
|
Ответ: Code::Blocks + modern OpenGL
Милый Linux умеет объединять, разбивая статик либы на объекты, а потом компонуя обратно в либу. Также вычитал, что и студия умеет. GCC же, видимо, соснул:(
|
Ответ: Code::Blocks + modern OpenGL
Цитата:
|
Часовой пояс GMT +4, время: 16:10. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot