Opengl c установка в visual studio. Настраиваем Windows для программирования OpenGL

Opengl c установка в visual studio. Настраиваем Windows для программирования OpenGL

13.04.2019

В жизни любого программиста наступает момент, когда он захочет программировать графику. На GDI и GDI+ далеко не уедешь, нужно подключать сторонние библиотеки. А тут выбор между заточенным под Windows Direct X и кроссплатформенная OpenGL . Причем последняя намного проще в изучении (по крайней мере, мне так показалось).

Изучение OpenGL я буду освещать в других своих уроках, а для начала давайте настроим среду разработки. Оговорюсь сразу – в большинстве книг используется в качестве примера сильно устаревшая библиотека glut . Тем не менее, она довольно-таки популярна и для новичков самое то (да и многие свои простые программки я сам писал с этой библиотекой).

С этой библиотекой можно работать практически на любом языке программирования (я был удивлен, увидев проекты на Perl), но лично мне удобнее на C++. И вот тут парадокс – хотя ее легко использовать в коде, но настроить среду разработки разработки дело не для слабонервных. Поэтому я решил описать, как ее подключить к своему проекту на VC++(у меня это 2008, но и для VC++ 2010 это актуально).

Итак, для начала скачайте glut . Распакуйте архив и теперь внимательно выполняйте следующие действия:

1. Скопируйте в папку System вашей Windows файл из этого архива glut32.dll.

2. Теперь нам нужно указать среде, что мы будем использовать эту библиотеку. Найдите в каталоге, в который вы установили вашу VC++ вложенные директории include\Gl и lib.

У меня это примерно так: D\Program Files\Microsoft Visual Studio 9.0\VC\include\GL и

D:\Program Files\Microsoft Visual Studio 9.0\VC\lib

3. Скопируйте из архива файлы glut 32. lib в Program Files\Microsoft Visual Studio 9.0\VC\lib и glut.h

в Program Files\Microsoft Visual Studio 9.0\VC\include\GL

Теперь важные файлы лежат по своим местам. Как не парадоксально, но это все. Теперь в наших VC++ проектах можно использовать glut . Для этого нужно просто подключить вначале проекта загаловочный файл #include .

Давайте теперь закрепим материал и создадим свой первый проект с glut. Создайте обычный Win32 Application консольный проект. Оставьте все так, как создал мастер. А теперь просто добавьте после #include «stdafx.h» следующий код:

Include void RenderScene(void); void SetupRC(void); // Точка входа приложения void main(void) { glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); glutCreateWindow("Simple"); glutDisplayFunc(RenderScene); SetupRC(); glutMainLoop(); } //**************************************************** // Функция обратного вызова для рисования сцены void RenderScene(void) { // Окно очищается текущим цветом, // установленным функцией glClearColor() glClear(GL_COLOR_BUFFER_BIT); // В буфер вводятся команды рисования glFlush(); } //**************************************************** // Устанавливается состояние инициализации void SetupRC(void) { glClearColor(0.0F, 0.0F, 1.0F, 1.0F);// RGB + alpha-канал }

Я все прокомментировал, думаю, что вы разберетесь. Если нет, то в дальнейших уроках по OpenGL я все расскажу. Нам главное показать, как подключать glut.

Теперь скомпилируйте проект и появившиеся графическое окошко Simple покажет вам, что вы все сделали правильно.

  • Tutorial

Пост ориентирован на новичков. В нем не рассматривается настройка Visual Studio. Он научит вас настраивать некоторые текстовые редакторы на компиляцию OpenGL приложений, либо выполнять это из консоли вручную.

Качаем с бинарники под MinGW . Распаковываем, freeglut.dll из папки bin кидаем в " C:\Windows\System32 " (для х86) или " C:\Windows\SysWOW64 " (для х64), или любую другую папку, которая указана в PATH . Содержимое папок include и lib можно скопировать либо в " MinGW\include " и " MinGW\lib " (так будет проще), либо в отдельные созданые папки " MinGW\freeglut\include " и " MinGW\freeglut\lib ".

На этом с freeglut все. Для его подключения нужно добавить #include

glew
Библиотека glew позволяет определять что видеокарта поддерживает, а что - нет. Ее установка немного сложнее для нашего случая.
Качаем с , поскольку бинарники заточены под Visual Studio и нам не подойдут. Теперь эти исходники нужно скомпилировать. Я в этом практически ничего не понимаю, по-этому обратился к гуглу и нашел помощь :
Распаковываем скачанный архив, открываем консоль, заходим в полученную папку и пишем следующие команды:
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 ar cr lib/libglew32.a src/glew.o В результате в папке lib появилось 3 файла: glew32.dll , glew32.dll.a и glew32.a .
glew32.dll копируем туда же, куда ранее скопировали freeglut.dll , остальные 2 - в папку " MinGW\lib " либо " MinGW\glew\lib ".
Из папки include копируем содерижмое в " MinGW\include " или " MinGW\glew\include ".

На этом с glew все. Для его подключения нужно добавить #include , но сделать это необходимо перед подключением других gl библиотек.

Проверяем работоспособность
Создаем минимальный test.cpp:
#include #include #include #include int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutInitWindowSize(512, 512); glutInitContextVersion(4, 1); // Версия OpenGL, которую вы хотите использовать glutInitContextProfile(GLUT_CORE_PROFILE); glutCreateWindow(argv); if (glewInit()) { std::cerr << "Unable to initialize GLEW ... exiting\n"; exit(EXIT_FAILURE); } glutMainLoop(); }
Обратите внимание на функцию glutInitContextVersion - она завершит выполнение программы если ей не удалось создать контекст для указаной версии OpenGL. Чтобы узнать версию OpenGL, которую поддерживает ваша видеокарта, можно заглянуть в ее спецификацию либо скачать бинарники glew с и запустить glewinfo.exe из папки bin . Он сгенерирует файл glewinfo.txt , в котором будет детально расписано что ваша видеокарта поддерживает, а что - нет. Иногда функционал можно расширить установкой более свежего видеодрайвера.

Открываем консоль, заходим в папку с test.cpp и пишем следующую команду:
g++ -o test.exe test.cpp -lglew32 -lfreeglut -lopengl32 -lglu32 -Wl,--subsystem,windows В случае, если вы создавали отдельные папки freeglut и glew , здесь необходимо дополнительно указать соответствующие дополнительные папки include и lib . Тогда пример команды выглядит так:
g++ -o test.exe test.cpp -lglew32 -lfreeglut -lopengl32 -lglu32 -Wl,--subsystem,windows -I"C:\MinGW\freeglut\include" -L"C:\MinGW\freeglut\lib" -I"C:\MinGW\glew\include" -L"C:\MinGW\glew\lib"
Флаг -Wl,--subsystem,windows указывает компилятору что он должен создать графическое приложение, а не консольное.
Если все получилось, должен получится файл test.exe , который при запуске создает белое окно 512х512.

Когда вы захотите поделится своим приложением, убедитесь что вместе с исполняемым файлом передаете используемые библиотеки - freeglut.dll и glew32.dll .

Sublime Text 2
Ну и напоследок, приведу пример настройки Sublime. Скачать его можно отсюда , вводные видео-уроки на английском языке можно глянуть .
После установки открываем файл настройки билда С++:
" C:\Users\%Username%\AppData\Roaming\Sublime Text 2\Packages\C++\C++.sublime-build "
Сохраняем его копию как
" C:\Users\%Username%\AppData\Roaming\Sublime Text 2\Packages\User\C++\С++ OpenGL.sublime-build "

Строчку
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"], дополняем подключением библиотек:
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}", "-lfreeglut -lopengl32 -lglew32 -Wl,--subsystem,windows"],
Аналогично, строчку
"cmd": ["bash", "-c", "g++ "${file}" -o "${file_path}/${file_base_name}" && "${file_path}/${file_base_name}""] дополняем до
"cmd": ["bash", "-c", "g++ "${file}" -o "${file_path}/${file_base_name}" -lglew32 -lfreeglut -lopengl32 -lglu32 -Wl,--subsystem,windows && "${file_path}/${file_base_name}""] Если вы создавали отдельные папки под freeglut и glew, эти команды следует дополнить указанием адресов дополнительных папок include и lib .

Для того чтобы Sublime не отказывался выводить кириллицу в свою консоль, после
"selector": "source.c, source.c++", добавляем
"encoding": "cp1251",
Теперь, когда у нас открыт test.cpp , выбираем Tools -> Build system -> C++ OpenGL .
Нажимаем Ctrl+B для компиляции, Ctrl+Shift+B для компиляции и запуска.

На этом все!

UPD : Когда дело дошло до кода с gl-функциями из последних версий, выяснилось, что подключение заголовочного файла GL/gl.h недостаточно. В нем содержится устаревшая версия 1.1, и этот файл больше не обновляется. В дополнение к нему необходимо подключить GL/glext.h (последнюю версию которого надо скачать

Это моя первая статья по тематике программирования и в ней я хотел бы рассказать об успешном способе установки OpenGL на Windows для CodeBlocks. Если вы начинаете программировать на C++ используя графическую оболочку OpenGL, то отличный способ начать делать это с помощью библиотеки GLUT .

Для установки GLUT нам потребуется:

OS Windows – статья адаптирована для Windows 7 (в Windows XP и Vista тоже должно заработать).

OpenGL – входит в программное обеспечение Windows

GLUT – чтобы скачать библиотеку нажмите здесь:

IDE – больше всего мне нравится CodeBlocks, его и будем использовать (но вы можете использовать и Visual Studio , если желаете)

C++ компилятор – я буду использовать компилятор MinGW. Его можно установить как отдельно, так и вместе с CodeBlocks.

Как установить OpenGL

Шаг 1 — Скачиваем CodeBlocks

Скачайте CodeBlocks с MinGW . Выбирать нужно бинарный инсталлятор (файл *.exe) с MinGW (если он у вас не установлен). На данный момент свежий пакет установки называется так «codeblocks-13.12mingw-setup.exe». Найти его можно на странице Home -> Downloads -> Download the binary release .

Шаг 2 — Устанавливаем CodeBlocks

Установите CodeBlocks и MinGW запустив файл *.exe. Установите все параметры по умолчанию. При возникновении ошибки в CodeBlocks « The compiler’s setup (GNU GCC Compiler) is invalid, so Code::Blocks cannot find/run the compiler» зайдите в Settings — > Compiler -> Toolchain executables и нажмите Auto-detect , далее 2 раза OK .

Шаг 3 — Opengl установка

Распаковываем скачанный и выполняем следующие действия:

Скопируйте glut.dll в папку “C:\Windows\System32” (Если вы используете 64-разрядную версию Windows 7, то вам необходимо скопировать этот файл в папку “C:\Windows\SysWOW64”).

Скопируйте glut.h в папку «include\GL» вашего компилятора MinGW. Если вы установили CodeBlocks вместе с MinGW в каталог по умолчанию, то это будет папка «C:\Program Files\CodeBlocks\MinGW\include\GL» (у меня это “C:\MinGW\include\GL ”)

Скопируйте libglut32.a в ту же папку с компилятором “MinGW\lib”.

Шаг 4 — Как подключить OpenGL в CodeBlocks

Теперь у вас есть все необходимое программное обеспечение. Теперь вы можете создать новый OpenGL и Glut проект. CodeBlocks имеет возможность при создании нового проекта создание проекта GLUT, но мы не будем использовать это сейчас.

Запускаем CodeBlocks и выбираем File -> New -> Project , в новом окне выберите Empty project и нажмите кнопку GO .

Пропускаем приветствие и жмем Next , на следующей странице вводим название проект в первой строчке и задаем путь для его сохранения во второй строке.

На заключительной странице убедитесь, что в выпадающем списке выбран GNU GCC Compilier.

Нажмите Finish .

После того как ваш проект создан, щелкните правой кнопкой мыши по названию проекта в окне Management и выберите “Build options… ”. В левой части окна должно быть выбрано название проекта (не выбирайте Debug или Release). Далее выбираем вкладку Linker settings .

В этой вкладке нажмите Add и в появившемся окне Add library в поле File введите без кавычек «opengl32».
Сделайте тоже самое на этот раз вводя «glu32» и «glut32».

Теперь у вас есть все настройки проекта для OpenGL и GLUT.

Шаг 5 — Пример OpenGL

Скачайте данный GLUT OpenGL пример и распакуйте его — . С помощью Блокнота откройте его и скопируйте содержимое.
В CodeBlocks создайте новый файл, выбрав File -> New -> Empty File и введя название «main.cpp».

Подтвердите добавление файла к проекту.

В новом окошке поставьте галочки Debug и Release и нажмите OK .

Вы создали новый пустой файл в проекте. Вставьте содержимое скачанного файла с примером.

Теперь попробуем скомпилировать и запустить. Нажмите Build -> Build and run (либо Build -> Build и далее Build -> Run ).

Если вы сделали все правильно, то не должны получить никаких ошибок сборки.

У вас должна появиться буква Z, составленная из линий. Готово!

Пакет файлов под названием OpenGL в большинстве случаев требуется пользователям для корректного запуска определенных игр на компьютере под управлением операционной системы Windows 7. Если данный драйвер отсутствует или его версия устарела, программы просто не будут включаться, а на экране отобразится соответствующее уведомление с просьбой инсталляции или обновления ПО. В этой статье мы максимально развернуто расскажем о загрузке новых библиотек OpenGL.

В первую очередь стоит разобраться, каким же образом инсталлируется рассматриваемый компонент на ПК. Все необходимые файлы ставятся вместе с драйверами графического адаптера. Поэтому сперва следует обновить программное обеспечение этого комплектующего, а потом переходить к разбору альтернативного метода.

Когда у вас установлен самый свежий драйвер на видеокарту и обновлений больше нет, при этом все равно появляется уведомление о необходимости обновления OpenGL, сразу переходите к третьему способу. Если и этот вариант не принес никаких результатов, значит, ваше оборудование не поддерживает последние библиотеки. Рекомендуем задуматься о выборе новой видеокарты.

Способ 1: Обновление драйверов видеокарты в Windows 7

Как уже было сказано выше, компоненты OpenGL ставятся вместе с файлами графического адаптера. В Windows 7 присутствует несколько методов их обновления. Каждый из них подходит в разных ситуациях и требует от пользователя выполнения определенных действий. Перейдите к статье по ссылке ниже, чтобы детально ознакомиться со всеми способами. Выберите подходящий и воспользуйтесь предоставленными инструкциями. По завершении процесса достаточно перезагрузить компьютер и проверить работоспособность игр или других программ, которые требовали наличия свежей версии библиотеки.

Способ 2: Обновление компонентов в фирменной утилите видеокарты

Сейчас основными производителями графических адаптеров являются AMD и NVIDIA. У каждого имеется собственный софт, который обеспечивает корректную работу с операционной системой и позволяет обновлять ПО. Обладателям видеокарт NVIDIA советуем обратиться к материалу по следующей ссылке, чтобы разобраться с установкой новой версии драйвера OpenGL в .

Владельцам карточек от AMD нужно ознакомиться с другими статьями, поскольку в данном случае все действия выполняются в либо в , в зависимости от типа установленного ПО.

Способ 3: Обновление DirectX

Не самым эффективным, но иногда работающим методом является установка новых компонентов библиотеки DirectX. Порой в ней находятся подходящие файлы, которые позволяют нормально функционировать необходимым играм или программам. Сначала нужно узнать, какой DirectX уже установлен на вашем компьютере. Для этого ознакомьтесь с инструкцией в статье ниже.

На данный момент последней версией для ОС Виндовс 7 является DirectX 11. Если у вас инсталлирована более ранняя библиотека, советуем обновить ее и проверить работоспособность ПО. Развернуто на эту тему читайте в другом материале.

Как видите, в обновлении OpenGL нет ничего сложного, главным вопросом остается лишь поддержка свежих файлов данного компонента вашей видеокартой. Мы рекомендуем проверить все способы, поскольку эффективность каждого зависит от разных обстоятельств. Ознакомьтесь с инструкциями и следуйте им, тогда у вас точно все получится.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows