Это моя первая статья по тематике программирования и в ней я хотел бы рассказать об успешном способе установки OpenGL на Windows для CodeBlocks. Если вы начинаете программировать на C++ используя графическую оболочку OpenGL, то отличный способ начать делать это с помощью библиотеки GLUT .
Для установки GLUT нам потребуется:
OS Windows – статья адаптирована для Windows 7 (в Windows XP и Vista тоже должно заработать).
OpenGL – входит в программное обеспечение Windows
GLUT – чтобы скачать библиотеку нажмите здесь:
IDE – больше всего мне нравится CodeBlocks, его и будем использовать (но вы можете использовать и Visual Studio , если желаете)
C++ компилятор – я буду использовать компилятор MinGW. Его можно установить как отдельно, так и вместе с CodeBlocks.
Скачайте CodeBlocks с MinGW . Выбирать нужно бинарный инсталлятор (файл *.exe) с MinGW (если он у вас не установлен). На данный момент свежий пакет установки называется так «codeblocks-13.12mingw-setup.exe». Найти его можно на странице Home -> Downloads -> Download the binary release .
Установите 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 .
Распаковываем скачанный и выполняем следующие действия:
Скопируйте 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”.
Теперь у вас есть все необходимое программное обеспечение. Теперь вы можете создать новый 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.
Скачайте данный GLUT OpenGL пример и распакуйте его — . С помощью Блокнота откройте его и скопируйте содержимое.
В CodeBlocks создайте новый файл, выбрав File -> New -> Empty File
и введя название «main.cpp».
Подтвердите добавление файла к проекту.
В новом окошке поставьте галочки Debug и Release и нажмите OK .
Вы создали новый пустой файл в проекте. Вставьте содержимое скачанного файла с примером.
Теперь попробуем скомпилировать и запустить. Нажмите Build -> Build and run (либо Build -> Build и далее Build -> Run ).
Если вы сделали все правильно, то не должны получить никаких ошибок сборки.
У вас должна появиться буква Z, составленная из линий. Готово!
Пост ориентирован на новичков. В нем не рассматривается настройка 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 все. Для его подключения нужно добавить #include
Открываем консоль, заходим в папку с 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 .
Строчку
"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 7. Если данный драйвер отсутствует или его версия устарела, программы просто не будут включаться, а на экране отобразится соответствующее уведомление с просьбой инсталляции или обновления ПО. В этой статье мы максимально развернуто расскажем о загрузке новых библиотек OpenGL.
В первую очередь стоит разобраться, каким же образом инсталлируется рассматриваемый компонент на ПК. Все необходимые файлы ставятся вместе с драйверами графического адаптера. Поэтому сперва следует обновить программное обеспечение этого комплектующего, а потом переходить к разбору альтернативного метода.
Когда у вас установлен самый свежий драйвер на видеокарту и обновлений больше нет, при этом все равно появляется уведомление о необходимости обновления OpenGL, сразу переходите к третьему способу. Если и этот вариант не принес никаких результатов, значит, ваше оборудование не поддерживает последние библиотеки. Рекомендуем задуматься о выборе новой видеокарты.
Как уже было сказано выше, компоненты OpenGL ставятся вместе с файлами графического адаптера. В Windows 7 присутствует несколько методов их обновления. Каждый из них подходит в разных ситуациях и требует от пользователя выполнения определенных действий. Перейдите к статье по ссылке ниже, чтобы детально ознакомиться со всеми способами. Выберите подходящий и воспользуйтесь предоставленными инструкциями. По завершении процесса достаточно перезагрузить компьютер и проверить работоспособность игр или других программ, которые требовали наличия свежей версии библиотеки.
Сейчас основными производителями графических адаптеров являются AMD и NVIDIA. У каждого имеется собственный софт, который обеспечивает корректную работу с операционной системой и позволяет обновлять ПО. Обладателям видеокарт NVIDIA советуем обратиться к материалу по следующей ссылке, чтобы разобраться с установкой новой версии драйвера OpenGL в .
Владельцам карточек от AMD нужно ознакомиться с другими статьями, поскольку в данном случае все действия выполняются в либо в , в зависимости от типа установленного ПО.
Не самым эффективным, но иногда работающим методом является установка новых компонентов библиотеки DirectX. Порой в ней находятся подходящие файлы, которые позволяют нормально функционировать необходимым играм или программам. Сначала нужно узнать, какой DirectX уже установлен на вашем компьютере. Для этого ознакомьтесь с инструкцией в статье ниже.
На данный момент последней версией для ОС Виндовс 7 является DirectX 11. Если у вас инсталлирована более ранняя библиотека, советуем обновить ее и проверить работоспособность ПО. Развернуто на эту тему читайте в другом материале.
Как видите, в обновлении OpenGL нет ничего сложного, главным вопросом остается лишь поддержка свежих файлов данного компонента вашей видеокартой. Мы рекомендуем проверить все способы, поскольку эффективность каждого зависит от разных обстоятельств. Ознакомьтесь с инструкциями и следуйте им, тогда у вас точно все получится.
Вставьте glut.h в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\{14.11.25503}\include\GL Создайте папку GL, если она еще не C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\{14.11.25503}\include\GL . {Вещь} может отличаться.
Вставить glut.lib в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\{14.11.25503}\lib\x64 . Вставить glut32.lib в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\{14.11.25503}\lib\x86 . {Вещь} может отличаться.
Вставьте glut32.dll в C:\Windows\System32 . Вставьте glut.dll и glut32.dll в C:\Windows\SysWOW64 .
Следуйте следующему ответу Vishwanath gowda. Перейдите в Project -> Properties (All Configuration) -> Linker -> Input -> Additional Dependencies-> edit (стрелка вниз на правом конце) Type-> opengl32.lib glu32.lib glut32.lib Хит Ok-> применить.
2018-12-04T00:00Z
Загрузите и установите Visual C ++ Express.
Загрузите и извлеките «freeglut 2.8.0 MSVC Package» с http://www.transmissionzero.co.uk/software/freeglut-devel/
Установка для Windows 32 бит:
(a) Скопируйте все файлы из папки include / GL и вставьте в папку C: \ Program Files \ Microsoft SDK \ Windows \ v7.0A \ Include \ gl.
(b) Скопируйте все файлы из папки lib и вставьте их в папку C: \ Program Files \ Microsoft SDK \ Windows \ v7.0A \ Lib.
(c) Скопируйте файл freeglut.dll и вставьте его в папку C: \ windows \ system32.
2018-12-11T00:00Z
Для простого и подходящего способа сделать это сначала загрузите предварительно расфасованный выпуск freeglut. Затем прочитайте его Readme.txt.
Я скопировал некоторые важные части этого пакета здесь:
Создайте папку на вашем ПК, которая читается всеми пользователями, например «C: \ Program Files \ Common Files \ MSVC \ freeglut \» в обычной системе Windows. Скопируйте папки "lib \" и "include \" из этого zip-архива в это место... DLL-библиотека freeglut может быть помещена в ту же папку, что и ваше приложение...
Откройте свойства проекта и выберите «Все конфигурации» (это необходимо для обеспечения того, чтобы наши изменения применялись как для отладочных, так и для выпуска сборок). Откройте раздел «Общие» в разделе «C / C ++» и настройте папку «include», созданную вами выше, в качестве «Дополнительного каталога ссылок». Если у вас более одного пакета GLUT, содержащего файл «glut.h», важно убедиться, что папка с бесплатным доступом включает выше всех других включенных в GLUT папок... Откройте «общий» раздел в разделе «Linker» и настройте папку lib \, которую вы создали выше, в качестве «Дополнительного каталога библиотек» ...
2018-12-18T00:00Z
OpenGL поставляется вместе с Visual Studio. Вам просто нужно установить пакет GLUT (freeglut будет отлично), который можно найти в NuGet.
Откройте свое решение, нажмите «TOOLS-> NuGet Package Manager» -> «Менеджер пакетов», чтобы открыть консоль NuGet, введите « Install-Package freeglut .
Для VS 2013 вместо этого используйте пакет nupengl.core .
2018-12-25T00:00Z
OpenGL должен присутствовать уже - вероятно, будет отсутствовать Freeglut / GLUT.
GLUT очень датирован сейчас и не активно поддерживается - поэтому вы, безусловно, должны использовать Freeglut. Вам не придется менять свой код вообще, и появляется несколько дополнительных функций.
Здесь вы найдете предварительно упакованные наборы файлов: Если вы не видите папку «lib», это потому, что вы не загрузили предварительно загруженные файлы, упакованный набор. «Двойные файлы Windows Мартина Пейна» размещены по ссылке выше и работают на Windows 8.1 с Visual Studio 2013 на момент написания этой статьи.
Когда вы их загрузите, вы обнаружите, что папка Freeglut имеет три подпапки: - папка bin: это содержит файлы dll для runtime - include: файлы заголовков для компиляции - lib: содержит файлы библиотеки для компиляции / ссылки
Инструкции по установке обычно предполагают перемещение этих файлов в папку visual studio и в системную папку Windows. Лучше избегать этого, поскольку это делает ваш проект менее переносимым и делает его намного сложнее, если вам когда-либо понадобится изменить версию библиотеки вы используете (старые проекты могут внезапно перестать работать и т. д.)
Вместо этого (извинения за любые несоответствия, я основываю эти инструкции на VS2010) ... - поместите папку freeglut в другое место, например C: \ dev - откройте свой проект в Visual Studio - откройте свойства проекта - там должна быть вкладка для VC ++ Directories , здесь вы должны добавить соответствующие папки include и lib, например: C: \ dev \ freeglut \ include и C: \ dev \ freeglut \ lib - (почти) Последний шаг - убедиться, что файл opengl lib фактически связан во время компиляции. Еще в свойствах проекта разверните меню компоновщика и откройте вкладку ввода. Для дополнительных зависимостей добавьте opengl32.lib (вы бы предположили, что это будет связано автоматически, просто добавив include GL / gl.h в ваш проект, но по какой-то причине это, похоже, не так)
На этом этапе ваш проект должен скомпилировать ОК. Чтобы запустить его, вам также нужно скопировать файлы freeglut.dll в папку проекта
2019-01-01T00:00Z
инструкции для Vs2012
Установка FreeGLUT
Извлеките сжатый файл freeglut-MSVC.zip в папку freeglut
Внутри папки freeglut:
В 32-битных версиях окон
скопируйте все файлы в папку include / GL в папку C: \ Program Files \ Windows Kits \ 8.0 \ Include \ um \ gl
скопируйте все файлы в папку lib в папку C: \ Program Files \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ (примечание: Lib \ freeglut.lib в папке переходит в x86)
Скопируйте файл freeglut.dll в C: \ windows \ system32
В 64-битных версиях окон: (не на 100% уверен, но попробуйте)
скопируйте все файлы в папку include / GL в папку C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Include \ um \ gl
скопируйте все файлы в папку lib в папку C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ (примечание: Lib \ freeglut.lib в папке переходит в x86)
Скопируйте файл freeglut.dll в C: \ windows \ SysWOW64