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

Открытая Графическая Библиотека или OpenGL – разработка компании Cilicon Graphics. Её используют при написании игр с 3D графикой. Распространённая ошибка, связанная с этим пакетом библиотек – «отсутствует файл opengl32.dll». Её причина в том, что запрашиваемая библиотека была удалена сторонней программой или пользователем. Такое часто случается при установке взломанных игр. Приложения с торрентов не всегда идут в комплекте со всеми необходимыми компонентами, в отличии от лицензионных версий. Репак способен удалить или повредить opengl32.dll при установке, а также он может заменить оригинальный dll на собственную версию. Это приводит к тому, что все приложения, использующие OpenGL, начинают выдавать ошибку.

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

Алгоритм действий таков:

  • Переустановить игру
  • Скачать opengl32.dll
  • Установить весь пакет OpenGL

Как только вы поняли, что за ошибка вас посетила, попробуйте переустановить проблемную программу. Это наверняка поможет, если вы используете лицензионную игру. Она заменит все подозрительные библиотеки на оригинальные версии, после чего всё заработает. В случае, когда игра была скачана с торрента, то её переустановка едва-ли поможет. Будет лучше поискать другую сборку этой игры и попробовать её. Не помогло? Тогда скачайте opengl32.dll из сети и положите в системную папку. Актуальную dll скачать для Windows 7 или выше, вы можете на нашем портале. Если у вас система х86, то положите opengl32.dll в C:\Windows\System32. Пользователям Windows x64 понадобится папка C:\Windows\SysWOW64. Когда библиотека окажется на месте, зарегистрируйте её и запустите игру. Теперь вы знаете, что делать, если у вас ошибка opengl32.dll.

Пакет файлов под названием 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 нет ничего сложного, главным вопросом остается лишь поддержка свежих файлов данного компонента вашей видеокартой. Мы рекомендуем проверить все способы, поскольку эффективность каждого зависит от разных обстоятельств. Ознакомьтесь с инструкциями и следуйте им, тогда у вас точно все получится.

  • 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 (последнюю версию которого надо скачать



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: