Файл | Расположение |
glut32. dll | Windows XP | Server 2003: | C:\WINDOWS\system\ |
Windows 2000: | C:\WINNT\system\ TD> |
glut32.lib | C:\Program Files\Microsoft Visual Studio NET 2003\Vc7\PlatformSDK\Lib |
glut.h | C:\Program Files\Microsoft Visual Studio NET 2003\Vc7\PlatformSDK\Include\gl |
ТАБЛИЦА>
Примечание:
Если вы планируете дать свою программу друзьям для запуска в Windows, вы также должны включить файл glut32.dll. Если у них нет этого файла в том же каталоге, что и ваше приложение, или в папке C:\WINDOWS\system, программа не запустится.
Шаг 2. Создайте проект Visual Studio наверх ↑
<ПР>
Создайте новый проект ( Файл → Создать → Проект. ). Появится диалоговое окно Новый проект.
На панели "Типы проектов:" выберите "Проекты Visual C++" . Затем выберите Консольный проект Win32 на панели Шаблоны:. Назовите свой проект и нажмите OK. Появится диалоговое окно мастера приложений Win32.
Перейдите на вкладку "Настройки приложения" слева и установите флажок "Пустой проект". Затем нажмите Готово.
Будет создан пустой консольный проект.
Шаг 3. Добавьте исходный код наверх ↑
Добавление исходных файлов в проект должно быть вам знакомо, поэтому в подробном объяснении нет необходимости. Однако есть два факта, которые вам следует знать.
<ПР>
Когда вы включаете GLUT в программу, он автоматически включает остальные заголовочные файлы OpenGL. Таким образом, явно имея
ни в Linux, ни в Windows нет необходимости, если вы включите GLUT.
Короче говоря, вам нужно сделать только это:
Шаг 4. Измените свойства проекта наверх ↑
Перед компиляцией проекта необходимо настроить компоновщик Visual Studio, чтобы он знал, где найти GLUT. Для этого необходимо открыть диалоговое окно Страницы свойств для вашего проекта. Это можно сделать двумя способами:
<ПР>
Используйте параметр меню Visual Studio ( Проект → Свойства ).
ИЛИ. Воспользуйтесь Обозревателем решений, расположенным в правом верхнем углу. Щелкните правой кнопкой мыши имя вашего проекта, как показано, и выберите «Свойства».
При использовании любого варианта откроется диалоговое окно «Страницы свойств». Как только он появится, сделайте следующее:
<ПР>
В списке Конфигурация: выберите Все конфигурации .
На левой панели выберите поддерево компоновщика, а затем параметр ввода. Добавьте следующий код в текстовое поле Дополнительные зависимости на правой панели.
Примечание:
Если вы решите отключить окно консоли, помните, что вы не сможете увидеть консольный вывод вашей программы с помощью printf() , cout , cerr и т. д. Итак, если вы планируете если пользователи запускают вашу программу из командной строки DOS и должны видеть вывод консоли, не отключайте окно консоли.
Шаг 5. Наслаждайтесь Visual Studio. Вернуться к началу ↑
Теперь ваша программа готова к разработке в отличной среде IDE, но при этом остается переносимой.
Обязательно протестируйте свою программу на компьютере с Linux, прежде чем отправлять ее на оценку.
Шаг 6: Распространение вашей программы наверх ↑
Если вы собираетесь поделиться своей программой с людьми ради славы и славы, создайте версию Release, чтобы исполняемый файл не был гигантским. Что еще более важно, не забудьте включить файл glut32.dll в свое приложение, потому что у большинства пользователей его нет в каталоге WINDOWS/system.
Я практически не нашел информации о том, как установить freeglut в Visual Studio 2008 с помощью Google, поэтому решил написать простое руководство, объясняющее, как установить freeglut в Visual Studio 2008. Это руководство может подойти для установки freeglut в Visual Studio 2008. Studio 2005, но я не пробовал.
Вам потребуются 3 вещи:
*Visual Studio 2008,
*OpenGL,
*freeglut
Предполагая, что у вас установлен VS2008, первым шагом будет загрузка заголовочных файлов Windows. На официальном сайте freeglut есть последняя версия в исходном коде, которую вам нужно будет скомпилировать. К счастью, я собрал его для вас. (скомпилированный халявщик)
<УЛ>
Поместите файл freeglut.h в папку: "C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\" (примечание: вам потребуется создать папку GL)
Поместите файл freeglut_ext.h в папку: "C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\"
Поместите файл freeglut_std.h в папку: "C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\"
Поместите файл freeglut.lib в папку: "C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\"
Поместите файл freeglut.dll в папку: "C:\WINDOWS\system32\"
Поместите glut32.dll в папку: "C:\WINDOWS\system32\"
Поместите glut32.lib в папку: "C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\"
Поместите glut.h в папку: "C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\"
Примечание. В предыдущих версиях Visual Studio требовалось установить Platform SDK. Это уже не так в VS2008, так как он уже включает SDK.
Хорошо, теперь, когда вы "установили" фриглют, вам нужно сообщить проекту C++ о фриглюте.
<р>1. Создайте новый проект консоли C++ в VS.
1а. В мастере создания приложения выберите Пустой проект.
2. Добавьте новый файл cpp в пустой проект. Добавьте туда немного кода шаблона. Например:
<р>3. Если вы попытаетесь скомпилировать, VS не скомпилируется. Это потому, что он не может видеть заголовочные файлы freeglut.
3а. В строке меню выберите Проект -> Свойства (Alt+F7).
3б. Перейдите в Linker -> Input и скопируйте и вставьте эту строку.
opengl32.lib glu32.lib glut32.lib
<р>4. Если вы попытаетесь скомпилировать сейчас, ошибки все еще могут появляться. Вам, вероятно, потребуется добавить каталоги для файлов заголовков и lib в каталоги Project/Solutions.
Устранение неполадок
ПЕЧАТЬ. Используйте альбомную ориентацию и минимальные поля, чтобы снимки экрана поместились на странице.
TAs : TAs доступны, чтобы помочь вам понять программирование графики, а не исправлять ошибки. Не обращайтесь к ассистенту до тех пор, пока не исчерпаете все методы устранения неполадок, описанные ниже, а также любые другие методы, которые вы можете придумать.
Проблемы сборки и выполнения. При разработке графических программ вы столкнетесь с двумя основными типами проблем: проблемами сборки и проблемами выполнения. Проблемы со сборкой возникают, когда ваш исходный код не компилируется или не компонуется (см. Сборка исполняемых файлов). Проблемы во время выполнения возникают, когда вы можете успешно собрать и запустить программу, но она ведет себя не так, как ожидалось, или приводит к катастрофическим сбоям (сбои или бесконечные циклы).
Проблемы со сборкой
Общие ошибки
Отображение большего количества текста. Обратите внимание, что в списке задач недостаточно места по горизонтали для многословных сообщений об ошибках и длинных путей к файлам. Чтобы увидеть больше текста, щелкните сообщение об ошибке в списке задач, чтобы выделить его, как показано выше, затем наведите курсор мыши на выделенное сообщение об ошибке или путь к файлу, чтобы отобразить полный текст во временном всплывающем окне.
Переход к проблемной строке. Двойной щелчок по сообщению об ошибке немедленно открывает проблемный файл для редактирования и помещает курсор на проблемную строку в файле. В строке состояния в нижней части окна будет отображаться гораздо больше выделенного длинного сообщения об ошибке.
Получение справки. Когда сообщение об ошибке выделено и находится в фокусе, первая ссылка в окне динамической справки в правом нижнем углу экрана представляет собой номер ошибки сообщения. Щелчок по этой ссылке отображает более подробную справку о сообщении об ошибке, что часто бывает полезно. В этой ситуации нажатие F1 делает то же самое.
Ошибки компиляции
Необъявленные идентификаторы. Если идентификатор написан и введен правильно, ошибки необъявленного идентификатора обычно возникают по одной из двух причин:
<УЛ>
Убедитесь, что имя включаемого файла находится в формате "", а не <>.
Щелкните правой кнопкой мыши имя проекта на вкладке "Обозреватель решений" и выберите "Свойства" -> "C/C++" -> "Общие" -> "Дополнительные каталоги включения". Установите это в каталог, содержащий файл, который компилятор не может найти. Фактический каталог может различаться между рабочими станциями в лаборатории и вашей домашней рабочей станцией.
ошибка C2381: "выход": переопределение; __declspec(noreturn) отличается: см. страницу ресурсов GLUT.
Ошибки связи
Неразрешенный внешний символ. Наиболее распространенной ошибкой ссылки является неразрешенный символ, как в приведенном ниже примере для функции "void Unresolved()", объявленной в файле HelloClass .h, но без тела функции, определенного в файле HelloClass .cpp. Обратите внимание, что в этом примере символ «Неразрешенный» должен использоваться где-то в проекте, чтобы вызвать эту ошибку. Компоновщику все равно, объявляете ли вы вещи и не определяете их, если вы никогда их не используете.
hello error LNK2019: неразрешенный внешний символ "public: void __thiscall HelloClass::Unresolved(void)" (?Unresolved@HelloClass@@QAEXXZ), на который ссылается функция "public: void __thiscall HelloClass::SayIt(void)" ( ? SayIt@HelloClass@@QAEXXZ )
Важной информацией здесь является фактический оскорбительный символ "HelloClass::Unresolved(void)". Сообщение содержит много другого текста, например ?Unresolved@HelloClass@@QAEXXZ , который является внутренним представлением «HelloClass::Unresolved(void)», обычно называемым «искаженным» или «украшенным» именем, побочным продуктом C++, о котором вам пока не нужно беспокоиться.
В приведенном выше примере неразрешенный символ находился в строящемся проекте. Чаще это будет из сторонней библиотеки, такой как GLUT. В этом случае, если символ правильно написан и введен, вам нужно указать компоновщику связать со сторонней библиотекой, щелкнув правой кнопкой мыши имя проекта на вкладке обозревателя решений, выбрав «Свойства» -> «Компоновщик» -> «Ввод» -> «Дополнительно». Зависимости и введите имя файла библиотеки, например, glut32.lib.
Проблемы во время выполнения (отладка)
Запуск/Остановка/Пошаговое выполнение
Панель инструментов отладки:
Запуск: нажатие F5 или первой кнопки на панели инструментов запустит исполняемый файл текущего проекта StartUp до завершения или до первой обнаруженной точки останова. Все измененные исходные файлы сохраняются и перестраиваются перед запуском. Чтобы установить проект StartUp, щелкните правой кнопкой мыши имя нужного проекта на вкладке обозревателя решений и выберите Установить как проект StartUp. Название проекта теперь отображается жирным шрифтом.
Просмотр вывода консоли. Поскольку домашние задания являются консольными приложениями, они могут и часто выводят текст в окно консоли (DOS) через потоки cout и cerr. Если вы начнете с F5, окно консоли может отображаться только на мгновение, поэтому вы пропустите все полезные сообщения. Чтобы окно консоли оставалось открытым после выхода или прерывания программы, вместо этого запустите исполняемый файл, нажав Ctrl-F5.
Совет. Метод проб и ошибок, как правило, быстрее, чем проводить много времени в отладчике. Когда вы наблюдаете проблему, сделайте обоснованное предположение о том, в чем она может заключаться, внесите соответствующее, желательно небольшое, изменение исходного кода и нажмите F5, чтобы перестроить, запустить и быстро просмотреть результаты ваших изменений. Поскольку обычно перестроение занимает всего пару секунд, вы можете опробовать несколько идей по исправлению в минуту. Избавьтесь от пошагового выполнения кода и изучения данных для более сложных проблем отладки.
Разрыв бесконечного (или очень длинного) цикла: нажмите вторую кнопку на панели инструментов (выглядит как кнопка медиапаузы).
Остановка: нажмите третью кнопку на панели инструментов (выглядит как кнопка остановки мультимедиа) или нажмите Shift-F5, чтобы остановить запуск исполняемого файла.
Возобновление: нажмите F5 или кнопку запуска на панели инструментов из любого состояния, в котором исполняемый файл остановлен, чтобы возобновить его выполнение до завершения или до следующей обнаруженной точки останова.
Пошаговое выполнение: последние 3 кнопки панели инструментов — это «Вход» (F11), «Переход» (F10) и «Выход» соответственно. Они относятся к тому, как они ведут себя по отношению к текущему или следующему программному блоку, заключенному в фигурные скобки<> . Step Into (F11) будет считаться "нормальным" шагом.
Совет. Пошаговое выполнение большого количества строк или итераций цикла занимает много времени. Вместо этого установите стратегические контрольные точки.
Доступ к исходной строке, где выполнение остановлено. Иногда, когда ваш исполняемый файл останавливается, например, в точке останова, вы просматриваете множество исходных файлов, смотрите на вещи и думаете, и фактически теряетесь, поэтому вы не помните, где находится ваша программа. выполнение в настоящее время в. Нажмите 5-ю кнопку на панели инструментов (желтая стрелка, указывающая вправо), чтобы вернуться к исходному файлу и строке, где выполнение остановлено.
Точки останова
Установка/очистка. Самый простой способ переключить точку останова в строке исходного кода — навести курсор на эту строку и нажать F9. На левом поле любой строки, имеющей точку останова, отображается коричневая точка.
В циклах: установите точку останова внутри цикла и продолжайте нажимать F5, чтобы выполнить следующую итерацию цикла. Это быстрее, чем пошаговое выполнение каждого оператора в теле цикла.
Разрыв, когда переменной присваивается определенное значение. Иногда вам нужно узнать, например, как указатель становится равным нулю, когда код выглядит нормально. Visual Studio допускает условные точки останова на основе значений переменных, но зачастую проще добавить в код операторы отладки, например
а затем установите точку останова на фиктивном операторе "debug = 5;"
Сбои
Если ваша программа аварийно завершает работу во время отладки в Visual Studio, она останавливается в точке сбоя и отображает исключения, вызвавшие сбой. Самый глубокий вызывающий вызов часто находится в стандартной библиотеке или системном коде, но вы можете использовать стек вызовов, чтобы найти, какой оператор в вашем коде вызвал сбой, и состояние любых переменных во время сбоя.
Стек вызовов
Самые важные вызовы находятся вверху. Дважды щелкните строку, чтобы открыть этот файл и перейти к этой строке в панели редактора исходного кода. Желтая стрелка указывает, где остановлено текущее выполнение. Обратите внимание, что в этом примере используется вызов стандартной библиотеки. Зеленая стрелка указывает, какой вызов в данный момент отображается в редакторе исходного кода. Обратите внимание, что это другой вызов, в котором выполнение остановлено. Вы можете свободно перемещаться вверх и вниз по стеку вызовов, чтобы проверять любые переменные, находящиеся в области действия на каждом уровне вызова.
Изучение данных
Файл заголовка HelloClass.h для примера на снимке экрана ниже:
Когда выполнение вашей программы остановлено, одна или несколько панелей в левом нижнем углу экрана автоматически иерархически отображают значения некоторых переменных. Обратите внимание на желтую стрелку, указывающую на остановку выполнения в закрывающей фигурной скобке > функции SayIt(). Это ваша последняя возможность просмотреть значения любых переменных в блоке до того, как они выйдут за пределы области видимости. Также обратите внимание, что Visual Studio знает правильный формат для отображения значений переменных.
Autos . На панели Autos отображаются переменные в области файлов и классов, а также переменные, используемые рядом с текущей строкой выполнения, поэтому переменные появляются и исчезают по мере выполнения кода. Обычно на этой панели очень компактно отображается только нужная информация.
Локальные: на панели «Локальные» отображается все то же самое, что и на панели «Авто», за исключением того, что локальные переменные отображаются для всей области их блока, а не появляются и исчезают по мере того, как вы проходите по строкам. Это может стать очень длинным списком, если блок, через который проходится, большой и сложный, но иногда вам нужно увидеть переменные за все время их жизни.
Наблюдение: если вам нужно проверить переменную, которая не отображается в Autos или Locals, щелкните правой кнопкой мыши имя переменной в вашем источнике и выберите Add Watch. Переменная добавляется в окно наблюдения, обычно именуемое Watch 1, где она продолжает отображаться до тех пор, пока вы не удалите ее из области наблюдения с помощью клавиши Del. Переменные остаются на панели просмотра даже между сеансами отладки одной и той же программы. Кроме того, вы можете изменить выражение в столбце «Имя» на панели «Контроль», которое используется для оценки переменной.
Изменение значений переменных. Вы можете просто редактировать и изменять значение любой переменной, отображаемой на панели Watch, Autos или Local. Изменение происходит немедленно. Эта возможность имеет сомнительную ценность, за исключением очень специфических обстоятельств «что, если».
Составные переменные (массивы, классы, структуры)
Вы можете углубиться в иерархию составных переменных, разворачивая и сворачивая ветви с помощью + и - на панели отображения.
Указатели
Указатели обычно указывают, являются ли они допустимыми или нет, и автоматически разыменовываются при раскрытии путем нажатия на значок + в отображаемой иерархии. Обратите внимание на скриншот, что расширение указателя на составной тип не всегда отображает то, что вы хотите. Например, расширение указателя рампы2 отображает только первый элемент в массиве, в отличие от аналогичного явного массива рампы, который отображает каждый из его элементов. Это связано с тем, что отладчик не имеет информации о длине массива, на который ссылается исключительно указатель. В особых случаях отладчик знает, как справиться с этой проблемой, например, с текстовым указателем на массив символов с завершающим нулем, который правильно отображает содержимое массива в виде читаемой строки символов.
Массивы, на которые ссылается указатель. Чтобы отобразить элементы массива, на которые ссылается указатель, перейдите на панель просмотра, щелкните пустую строку в столбце «Имя» и введите имя указателя, за которым следует запятая, и количество элементы, которые вы хотите видеть:
Обратите внимание, что при вводе количества элементов, превышающего фактическую длину массива, на который указывает ссылка, отображаются значения за пределами конца массива.
Альтернативные способы проверки данных во время выполнения
Потоковый вывод. Иногда пошаговое выполнение и отображение значений становится неэффективным. Например, вам нужно увидеть значения многих переменных по мере их изменения во время итерации цикла и связать более поздние значения с более ранними. В этих случаях вместо этого вы можете записать значения в потоки cout или cerr:
См. Запуск/Остановка/Пошаговое выполнение примечаний по просмотру вывода этого потока. Вывод в окне консоли (DOS) можно выбрать, перетащив на него мышь, и скопировать в буфер обмена, нажав Enter. Имейте в виду, что вывод тысяч строк отладочной информации таким образом может значительно замедлить выполнение вашей программы.
Вывод в файл. Запись больших объемов отладочной информации в текстовый файл может быть более эффективной, но более сложной. Как правило, не стоит заморачиваться с открытием файлового объекта и управлением им из вашего кода. Альтернативный подход состоит в том, чтобы ваша программа генерировала потоковый вывод, как описано выше, и перенаправляла вывод в файл. Для этого откройте окно консоли (DOS) и перейдите в каталог Debug в каталоге вашего проекта. Затем запустите вашу программу из этого окна консоли (вне Visual Studio) с помощью команды:
> outfile.txt для добавления к внешнему файлу, если он существует
>> outfile.txt для перезаписи внешнего файла, если он существует
Совет. Выберите в главном меню Debug -> Windows, чтобы отобразить больше информации о времени выполнения, чем вам когда-либо понадобится.
Привет, я пытаюсь установить GLUI для работы с Visual Studio 2005, я просто пытаюсь запустить один из примеров, но постоянно получаю эту ошибку:
ССЫЛКА: фатальная ошибка LNK1104: невозможно открыть файл «LIBCD.lib»
Единственная ссылка, которую я смог найти, была на странице справки Microsoft, но там говорилось, что ошибка была исправлена в более ранней версии.
Любая помощь будет здоровой.
Ура!
Этот файл является статической библиотекой для отладочной однопоточной версии среды выполнения C. Visual Studio 2005 больше не поддерживает эту версию среды выполнения C: вместо этого вам нужно использовать многопоточную версию (libcmtd.lib) или версию с динамической компоновкой (DLL) (msvcrtd.lib).
Чтобы решить эту проблему, вам нужно изменить make-файл, поставляемый с GLUI, чтобы он использовал другую версию библиотеки.
Чтобы получить это сообщение об ошибке, вы должны строить проект: и что-то в процессе сборки проекта сообщает Visual Studio 2005, что ему нужна libcd.lib — это может быть либо в настройках проекта, либо в make-файле, либо через встроенную директиву компоновщика в каком-либо объектном файле (*.obj) или библиотеке (*.lib).
Вам нужно отследить, откуда берется зависимость от libcd.lib — это довольно просто для первых двух случаев. В третьем случае вам может понадобиться передать переключатель /verbose компоновщику, а затем просмотреть выходные данные, чтобы увидеть, откуда берется зависимость от libcd.lib.
Хорошо, я передал ключ /verbose компоновщику, и единственная ссылка была:
Означает ли это, что это проблема с файлом glui32.lib, потому что я понятия не имею, как его редактировать (или даже где найти проблему)
Ура!
Это можно исправить в настройках проекта. Вам нужно добавить /NODEFAULTLIB в настройки компоновщика:
Эта опция заставит компоновщик игнорировать все директивы /DEFAULTLIB — это удалит зависимость от libcd.lib. К сожалению, он также удалит все другие зависимости, поэтому вам нужно будет явно добавить нужные библиотеки (например, glut32.lib и т. д.) в качестве входных данных для компоновщика.
На самом деле у меня та же проблема.
Я знаю, что прошло много времени, но я хотел бы сказать, что не могу просто игнорировать LIBCD.lib, как было предложено.
Это всегда приводит к множеству неразрешенных внешних символов.
Вот какие ошибки я получаю, когда пытаюсь сделать то, что вы предложили:
main.obj : ошибка LNK2019: неразрешенный внешний символ __RTC_CheckEsp, на который ссылается функция _main
main.obj : ошибка LNK2001: неразрешенный внешний символ __RTC_Shutdown
main.obj : ошибка LNK2001: неразрешенный внешний символ __RTC_InitBase
main.obj : ошибка LNK2001: неразрешенный внешний символ __fltused
ССЫЛКА : ошибка LNK2001: неразрешенный внешний символ _mainCRTStartup
Что бы я ни пробовал, мне не удалось заставить работать Glui или Glut.
Игнорировать определенную библиотеку в компоновщике вместо Igonre All Библиотека по умолчанию
Открытая графическая библиотека – это межъязыковой кроссплатформенный интерфейс прикладного программирования для рендеринга 2D- и 3D-векторной графики. API обычно используется для взаимодействия с графическим процессором для аппаратного ускорения рендеринга.
Для запуска графических приложений, написанных с использованием библиотек OpenGL, вы можете использовать Visual Studio.
Microsoft Visual Studio — это интегрированная среда разработки (IDE) от Microsoft. Он используется для разработки компьютерных программ, а также веб-сайтов, веб-приложений, веб-служб и мобильных приложений.
Установите Visual Studio Community 2017 с помощью официального установщика с необходимыми компонентами, как показано на изображении ниже.
Загрузить файлы заголовков, библиотек и dll GLUT из OpenGL. (Упоминается на этой странице)
Вставьте glut.h в папку C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\\include\GL .
Создайте папку GL, если она еще не существует. В вашей системе может отличаться.
Вставьте glut.lib в папку C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\\lib\x64 .
Вставьте glut32.lib в папку C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\\lib\x86. В вашей системе может отличаться.
Вставьте glut.dll и glut32.dll в папку C:\Windows\SysWOW64 .
Также скопируйте glut32.dll в C:\Windows\System32.
Откройте проект консольного приложения Windows в Visual Studio или создайте новый:
Файл > Создать > Проект
Visual C++ > Рабочий стол Windows > Консольное приложение Windows
Выберите Проект > Свойства .
Выберите «Все конфигурации» в раскрывающемся меню «Конфигурация» в верхнем левом углу.
Выберите «Свойства конфигурации» > «C/C++» > «Предварительно скомпилированные заголовки» и измените значение параметра «Предварительно скомпилированные заголовки» на «Не использовать предварительно скомпилированные заголовки» .
Выберите Свойства конфигурации > Компоновщик > Ввод . Теперь щелкните правой кнопкой мыши «Дополнительные зависимости», найденные на правой панели, и нажмите «Изменить».
(Примечание: каждый .lib в новой строке)
Вот и все. Вы успешно установили OpenGL. Продолжайте и запустите свою программу.
Те же инструкции по установке применяются к файлам freeglut с файлами заголовков в папке GL, lib в папке lib и dll в папке System32.
Вы можете проверить свою установку, запустив простую программу C++ OpenGL для рисования точек на двухмерном холсте.
Демонстрация "Chess" от GLUT
работает с freeglut.
freeglut — это бесплатное программное обеспечение с открытым исходным кодом, альтернативное библиотеке OpenGL Utility Toolkit (GLUT). GLUT изначально был написан Марком Килгардом для поддержки примеров программ во втором издании OpenGL «RedBook». С тех пор GLUT использовался в самых разных практических приложениях, поскольку он прост, широко доступен и хорошо переносим.
GLUT (и, следовательно, freeglut) берет на себя все системные задачи, необходимые для создания окон, инициализации контекстов OpenGL и обработки событий ввода, чтобы обеспечить по-настоящему переносимые программы OpenGL.
freeglut выпущен под лицензией X-Consortium.
Похоже, что исходная библиотека GLUT была заброшена, а самая последняя версия (3.7) была выпущена в августе 1998 года. Ее лицензия не позволяет никому распространять измененный код библиотеки. Это очень прискорбно, поскольку GLUT устаревает и действительно нуждается в улучшении. Кроме того, лицензия GLUT несовместима с некоторыми дистрибутивами программного обеспечения (например, XFree86).
Freeglut изначально был написан Павлом В. Ольштой при участии Андреаса Умбаха и Стива Бейкера.
Джон Ф. Фэй, Джон Циомбикас и Дидерик С. Нихорстер в настоящее время поддерживают проект freeglut.
Павел начал разработку freeglut 1 декабря 1999 года. Сейчас проект представляет собой практически 100 % замену оригинального GLUT с некоторыми отклонениями (такими как отказ от специфических для SGI функций, таких как блок Dials&Buttons и динамическое разрешение видео). ) и сокращающийся набор ошибок.
freeglut добавляет некоторые дополнительные функции по сравнению с базовой функциональностью GLUT, такие как больший набор предопределенных объектов для использования, возможность запуска отдельных итераций цикла событий или изящного выхода из него, обратные вызовы ввода с помощью колесика мыши, дополнительное ядро OpenGL/ создание контекста профиля совместимости, мультисенсорный ввод и ввод с несколькими указателями, а также поддержка все большего и растущего набора платформ, и это лишь некоторые из них.
Мы ищем разработчиков, которые помогут с дальнейшей работой над портами Android и BlackBerry 10. Кроме того, запланированы порты на Cocoa для OSX и, возможно, даже на Wayland, наряду с некоторыми улучшениями в API и реализации.
См. здесь обзор основных моментов в нашем списке задач. Для получения дополнительной информации о помощи посетите страницу помощи и присоединитесь к списку рассылки freeglut-developer.
Репозиторий исходного кода freeglut теперь размещен на github. Таким образом, вы также можете отправлять нам запросы на вытягивание или сообщать об ошибках через систему github Issues, если хотите. Однако длительные обсуждения потенциальных проблем дизайна для больших вкладов лучше всего подходят для списка рассылки.
Ниже приведены ссылки на файлы проекта freeglut. Файлы README включены. Удачи!
Стабильные выпуски доступны на нашей странице выпусков на github, где вы можете найти дополнительную информацию о каждом выпуске. Все выпуски также дублируются на старой странице загрузок на sourceforge.
- freeglut 3.2.2 (зеркало sourceforge) [Выпущено: 6 февраля 2022 г.]
- freeglut 3.2.1 (зеркало sourceforge) [Выпущено: 29 сентября 2019 г.]
- freeglut 3.2.0 (зеркало sourceforge) [Выпущено: 16 сентября 2019 г.]
- freeglut 3.0.0 (зеркало sourceforge) [Выпущено: 7 марта 2015 г.]
- freeglut 2.8.1 (зеркало sourceforge) [Выпущено: 5 апреля 2013 г.]
- freeglut 2.8.0 (зеркало sourceforge) [Выпущено: 2 января 2012 г.]
- freeglut 2.6.0 (зеркало sourceforge) [Выпущено: 27 ноября 2009 г.]
- freeglut 2.4.0 (зеркало sourceforge) [Выпущено: 9 июня 2005 г.]
- freeglut 2.2.0 (зеркало sourceforge) [Выпущено: 12 декабря 2003 г.]
- freeglut 2.0.1 (зеркало sourceforge) [Выпущено: 23 октября 2003 г.]
Проект freeglut не распространяет предварительно скомпилированные или иным образом специфичные для системы пакеты для freeglut. Мы выпускаем и поддерживаем freeglut только в виде исходного кода, как указано выше. Тем не менее, большинство дистрибутивов пакетов бесплатного программного обеспечения включают ту или иную версию freeglut, которая может обеспечить более удобный способ получения и использования freeglut. Вот неизбежно прискорбно неполный список таких усилий по упаковке для вашей системы:
- Все дистрибутивы GNU/Linux, такие как Debian, Arch, Ubuntu, RedHat и т. д., распространяют ту или иную версию freeglut. См. документацию по вашей системе, чтобы узнать, как его установить. В Debian и его производных это: apt install freeglut3-dev.
- FreeBSD включает freeglut в свою систему портов.как и NetBSD.
- Пользователи Windows, использующие систему msys2/mingw, могут установить freeglut с помощью команды: pacman -S mingw-w64-x86_64-freeglut для 64-разрядной версии или могут использовать pacman -sS freeglut также просмотреть все доступные варианты.
- Пользователи MacOS X могут использовать менеджер пакетов homebrew для установки freeglut с помощью команды: brew install freeglut.
- Другим вариантом для пользователей Windows являются двоичные файлы Windows от Martin Payne (MSVC и MinGW).
Если у вас возникли проблемы с этими пакетами, обратитесь к их сопровождающим, возможно, мы не сможем помочь.
Также, если вы не можете найти подходящий пакет для вашей системы, не паникуйте; собрать freeglut из исходного кода очень просто, просто следуйте инструкциям в README.cmake в исходном коде freeglut.
Вы всегда можете загрузить самый последний доступный исходный код freeglut из нашего репозитория github. Freeglut — это зрелый проект, и HEAD на github обычно достаточно стабилен.
Кроме того, вы можете загрузить снимок последней версии.
Не бойтесь просить о помощи.
Отправляйте вопросы, связанные с freeglut, в соответствующий список рассылки freeglut:
Обратите внимание, что вы должны подписаться перед тем, как отправлять сообщения в наши списки рассылки. Приносим извинения за неудобства.
Читайте также: