Не удается открыть источник файл gl glut h

Обновлено: 06.07.2024

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

Итак, для начала нам нужен компилятор — я остановился на G++. Он является частью GCC, а его порт под Windows называется MinGW. С него и начнем:

MinGW

Качаем с официального сайта инсталлятор и запускаем его. Можно выбрать выкачивание свежих пакетов сразу при установке, либо обновить их вручную позже. Компиляторы Fortran, Ada и ObjC нам не понадобятся, их можно не ставить. MSYS Basic System может пригодится, его ставим. В качестве адреса я указал " C:\MinGW ", но если вас это смущает — можете выбрать другой, например, " C:\Program Files\Common Files\MinGW ".

После установки следует добавить к системной переменной PATH две новые папки: " MinGW\bin " и " MinGW\msys\1.0\bin ". Для этого заходим в Пуск -> Панель управления -> Система -> Дополнительные параметры системы; Во вкладке Дополнительно тыкаем внизу кнопку Переменные среды. Из списка системных переменных выбираем Path, и через точку с запятой дописываем полные адреса к папкам " MinGW\bin " и " MinGW\msys\1.0\bin ".

Если вы не выбирали выкачивание свежих пакетов при установке, следует обновить нужные пакеты вручную. Для этого открываем консоль (Win+R -> cmd ), и пишем следующие команды:
Обновит информацию о доступных пакетах,
Отобразит полные имена пакетов gcc и g++,
Обновит эти пакеты до последних доступных для MinGW версий.

Теперь, когда у нас есть компилятор, мы можем приступить к установке необходимых OpenGL библиотек.

Freeglut

Поскольку OpenGL это API, которое относится исключительно к графике — в него не входят функции по созданию окон или обработки устройств ввода. Тем более, решение этой задачи зависит от операционной системы. По-этому ее вынесли в отдельную библиотеку и назвали GLUT — OpenGL Utility Toolkit. Однако, последний релиз этой библиотеки был очень давно и сейчас ее подменила freeglut.

Качаем с официального сайта бинарники под 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 ".

Библиотека glew позволяет определять что видеокарта поддерживает, а что — нет. Ее установка немного сложнее для нашего случая.
Качаем с официального сайта исходники, поскольку бинарники заточены под Visual Studio и нам не подойдут. Теперь эти исходники нужно скомпилировать. Я в этом практически ничего не понимаю, по-этому обратился к гуглу и нашел помощь здесь:
Распаковываем скачанный архив, открываем консоль, заходим в полученную папку и пишем следующие команды:
В результате в папке 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 ".

Проверяем работоспособность

Создаем минимальный test.cpp:

Обратите внимание на функцию glutInitContextVersion — она завершит выполнение программы если ей не удалось создать контекст для указаной версии OpenGL. Чтобы узнать версию OpenGL, которую поддерживает ваша видеокарта, можно заглянуть в ее спецификацию либо скачать бинарники glew с официального сайта и запустить glewinfo.exe из папки bin . Он сгенерирует файл glewinfo.txt , в котором будет детально расписано что ваша видеокарта поддерживает, а что — нет. Иногда функционал можно расширить установкой более свежего видеодрайвера.

Открываем консоль, заходим в папку с test.cpp и пишем следующую команду:
В случае, если вы создавали отдельные папки freeglut и glew , здесь необходимо дополнительно указать соответствующие дополнительные папки include и lib . Тогда пример команды выглядит так:

Флаг -Wl,--subsystem,windows указывает компилятору что он должен создать графическое приложение, а не консольное.
Если все получилось, должен получится файл test.exe , который при запуске создает белое окно 512х512.

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

Sublime Text 2

Строчку
дополняем подключением библиотек:

Аналогично, строчку
дополняем до
Если вы создавали отдельные папки под freeglut и glew, эти команды следует дополнить указанием адресов дополнительных папок include и lib .

Для того чтобы Sublime не отказывался выводить кириллицу в свою консоль, после
добавляем

Теперь, когда у нас открыт test.cpp , выбираем Tools -> Build system -> C++ OpenGL.
Нажимаем Ctrl+B для компиляции, Ctrl+Shift+B для компиляции и запуска.

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

не могу подключить glut в eclipse
Друзья, помогите пожалуйста подключить библиотеку glut к eclipse. Перешел с Microsoft Visual.

Работа с трехмерными примитивами. Вокруг конуса GLU вращаются сфера GLUT и конус GLUT
создание виртуальной камеры gluLookAt и добавление эффектов анимации. вот само задание Вокруг.

OpenGL недостатки по библиотекам (GLUT, GLAUX) Где скачать, как подключить, как работать в среде Visual Studio
Решил проверить как работают эти библиотеки дабы понять разницу работы без них. Также обнаружил.

С++ и glut
Недавно начала работать с С++ и с glut. Ответе на пару вопросов плиз. 1)Обязательно ли в.

В свойствах проекта, С/С++, общие, Дополнительные каталоги включаемых файлов, прописать путь к папке с этим файлом.

Хедеры скопируйте например как у меня в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\GL
статические библиотеки (lib) в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
динамические (dll) в C:\Windows\System

Добавлено через 42 секунды
После этого среда сама все найдет

Хедеры скопируйте например как у меня в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\GL
статические библиотеки (lib) в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib Тоже впринципе правильное замечание. Но зато все в одном месте. И стабильно работает. Если так все библиотеки подключать, то представь, что, со временем, у тебя будет твориться в папках студии? Если другую версию библиотеки подключить? Разбирайся потом, что там от чего. По-моему, плохой способ (хотя и самый простой). Если не хочешь разбираться что к чему, то можно создавать папки GL, GTK, DirectX и т.д. Я пока что не увидел в этом проблем. Но еще раз замечу - это справедливое замечание.

Сделал все, как ты написал .

два файла (glut32.dll и glut.dll) качнул и закинул в папки C:\Windows\System32 и C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Библиотеки

Путь прописал (побывал по обоим адресам)

>------ Построение начато: проект: рисуем, Конфигурация: Debug Win32 ------
1> рисунок.cpp
1>c:\users\user\desktop\рамис\с++\рисуем\рисуем\рисунок.cpp( 1): fatal error C1083: Не удается открыть файл включение: GL/glut.h: No such file or directory
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Добавлено через 7 минут

Хедеры скопируйте например как у меня в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\GL
статические библиотеки (lib) в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
динамические (dll) в C:\Windows\System

Добавлено через 42 секунды
После этого среда сама все найдет

Попытка запустить пример программы OpenGL C++ на OSX Yosemite с xCode. При запуске программы я получаю' GL/glut.h ' файл не найден скриншот: Тем не менее, у меня есть заголовок glut.h в проекте: На отдельном форуме я прочитал, что это должно быть GLUT/glut.h, так я и сделал, но получил следующее.

Вероятно, вы еще не установили GLUT:

EDIT:

Если вы используете Visual Studio Community 2015 и пытаетесь установить GLUT, вам следует поместить заголовочный файл glut.h в C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl

Иди сюда : C:\Program Files (x86)\Windows Kits\10

и сделайте все, что вы должны были сделать в данном Каталоге для VS 13 .

в папке lib вы найдете несколько версий, я скопировал 32-битные файлы glut.lib в amd и x86 и 64-bit glut.lib в каталогах arm64 и x64 в папке um для каждой версии, которую смог найти.

Это сработало для меня.

EDIT: я пробовал это в windows 10, может быть, вам нужно перейти в папку C:\Program Files (x86)\Windows Kits\8.1 для windows 8/8.1 .

Здесь вы можете найти все, что вам нужно:

Похожие вопросы:

может ли кто-нибудь помочь мне со следующей ошибкой GL/glut.h такого файла или каталога нет То, что я сделал, это После установки MinGW я добавил путь к переменной path enviornment Добавлен glut.h.

Попытка запустить пример программы OpenGL C++ на OSX Yosemite с xCode. При запуске программы я получаю' GL/glut.h ' файл не найден скриншот: Тем не менее, у меня есть заголовок glut.h в проекте: На.

У меня есть некоторые проблемы с библиотеками gl: наш учитель дал нам папку zip со всеми инструментами для библиотек gl, чтобы распаковать ее в C: . Проблема в том, что когда я пытаюсь скопировать.

ошибка C1083: не удается открыть включаемый файл: 'X11/Intrinsic.h': такого файла или каталога нет IntelliSense: не удается открыть исходный файл "X11/Intrinsic.h" IntelliSense: не удается.

Я использую Microsoft Visual Studio Community 2017 на Windows 10 и пытаюсь установить GLUT, используя это онлайн-руководство , которое я нашел по этому вопросу StackOverflow . Однако, когда я.

Репутация: 1
Всего: 3

Прилинковал opengl32.lib glu32.lib glaux.lib glut32.lib.

Репутация: нет
Всего: 2

glm. что то сомневаюсь что это функции беблиотеки glut. я вообще с расширениями Опена не работал,но что бы функции Glut имели префикс gml это маловероятно.
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы. победы над миром.

Репутация: нет
Всего: 95

Цитата
GLM library. Wavefront .obj file format reader/writer/manipulator

попробуй прикрепи к своему проекту еще файл <glm.h> из аттача.

Присоединённый файл ( Кол-во скачиваний: 20 )
glm.rar 14,63 Kb

самурай без меча подобен самураю с мечом, но только без меча

Репутация: 1
Всего: 3

Репутация: 1
Всего: 3

В принципе уже сдела- линкер ничего не говорит, ошибок нет, но когда я запускаю программу, окно серенькое блымнет, и все, а дальше идет дамп моего объектного файла с рисунком. что делать?

Репутация: 1
Всего: 3

Вроде исправил все ошибки- изображение самолета есть, но оно белое, бесцветное. То есть фон у меня черный, а самолет весь белый, только очертания его обрисованы и внутри тоже белый. Что делать? Где цвет?

Репутация: 2
Всего: 52

Ни что не внушает сна крепче, чем день приисполненный трудов!

Репутация: 1
Всего: 3

Нет, текстуры я не накладываю. У меня есть два файла с рисунком, созданные в 3D StudioMax.
Эти файлы f-16.obj и f-16.mtl. Причем пишу я программу в MFC. Самолет в окне отображаеться
исключительно белым цветом, одни его очертания, контуры, и залита фигура самолета - тоже белым. весь он короче белый, без раскраски.

Добавлено через 2 минуты и 59 секунд
причем я видел как эти файлы рисунка самолета используються в одном примере программы (но не MFC)- все нормально, самолет цветной. но мне нужно под MFC, а там в чистом виде все с нуля написано в примере. кстати там как то glut инициализируеться, окно его создаеться. у меня в MFC уже создано окно OpenGL, разве я не могу вывести в него из файла рисунок как мне нужно?

Репутация: нет
Всего: 37

Укажи векторы нормали, а то так и будет просто пятно. + указывай диффузию и материю.

user posted image

Я знаю, что ничего не знаю© Сократ

Репутация: нет
Всего: 0

Я долго думал и наконецто нашел ответ . :

Репутация: 1
Всего: 3

t_gran - если бы я еще знал что такое векторы нормали. но я только по примерам пытаюсь понять как работает OpenGL и еще не все знаю. если можешь объясни. И еще объясни как указать диффузию и материю? я просто не знаю как это выразить в коде.
GLeBaTi - я работаю в Visual Studio 6.0, glut уже скачал и установил по папочкам. к тому же по твоей ссылке пишеться, что файл отсутствует. мне нужно под MFC писать прогу а не под Builder. а вобще конечно спасибо за помощь!

Репутация: 1
Всего: 3

о! добавил свет и все получилось!


Так получилось, что все примеры к этой книге я написал с использованием библиотеки GLAUX. Библиотека GLUT не менее, а может даже и более, универсальная, чем GLAUX. Ее реализация доступна в исходных кодах на языке Си, и она собирается под самые различные платформы и реализации OpenGL. При написании программ для Windows недостаком является отсутствие библиотеки glut32.dll в стандартной поставке Windows. В следствие чего, вам придется вместе со своей программой распространять еще и файл glut32.dll, который занимает около 150Кб. В то время, как с библиотекой GLAUX такой необходимости нет, ваш исполняемый файл будет работать на любой машине, где установлена операционная система Windows. Отмечу еще, что GLUT предоставляет больше возможностей по взаимодействию с операционной системой. Вы, например, можете создавать меню. Но в библиотеке GLUT нет таких функций, как [Solid/Wire]Box, [Solid/Wire]Cylinder. Правильные многогранники рисуются одного размера. Стоит еще заметить, что в ней нет ошибки Microsoft, когда у нас не получалось нарисовать на экране два конуса так, чтобы один из них был проволочный, а другой сплошной. Среди прилагающихся программ вы найдете приложение shapes_glut. Сравните с рисунком из упражнения "Рисуем трехмерные объекты".
Исходный файл смотрите здесь. Исполняемый файл здесь.

  1. Cоздайте новый проект - "Консольное приложение Win32"
  2. В меню Build->Set Active Configuration выберите Release
  3. Далее, Project->Settings->Link->Objetc/library modules: впишите следующие библиотеки opengl32.lib glu32.lib glut32.lib.
  4. Скопируйте мой шаблон glut.c и подключите его Project->Add To Project->Files

Поиск

Програмирование с использованием OpenGL

Последние публикации

Организация рабочего пространства – проблема, актуальная для любого офиса или конторы.

Цифровая техника настолько плотно прижилась в доме каждого из нас, что порой с трудом вспоминаются те времена, когда обходились без видеокамер, фотоаппаратов, мобильных телефонов или планшетов

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

Читайте также: