Подтвердить что ты не робот

Как получить библиотеку/заголовки GL?

#include <gl\gl.h> 
#include <gl\glu.h> 
#include <gl\glaux.h>

Это пример, но где взять заголовки GL?

4b9b3361

Ответ 1

Окна

В Windows вам нужно включить заголовок gl.h для поддержки OpenGL 1.1 и ссылку на OpenGL32.lib. Оба являются частью Windows SDK. Кроме того, вам могут понадобиться следующие заголовки, которые вы можете получить из http://www.opengl.org/registry.

  • <GL/glext.h> - OpenGL 1.2 и выше совместимый профиль и интерфейсы расширения..
  • <GL/glcorearb.h> - OpenGL основной профиль и интерфейсы расширения ARB, как описано в приложении G.2 спецификации OpenGL 4.3. Не включает интерфейсы, найденные только в профиле совместимости.
  • <GL/glxext.h> - интерфейсы расширения GLX 1.3 и выше API и GLX.
  • <GL/wglext.h> - интерфейсы расширения WGL.

Linux

В Linux вам нужно установить ссылку на libGL.so, которая обычно является символической ссылкой на libGL.so.1, которая еще является символической ссылкой на фактическую библиотеку/драйвер, который является частью вашего графического драйвера. Например, в моей системе фактическая библиотека драйверов называется libGL.so.256.53, которая является номером версии используемого драйвера nvidia. Вам также необходимо включить заголовок gl.h, который обычно является частью пакета Mesa или Xorg. Опять же, вам может понадобиться glext.h и glxext.h из http://www.opengl.org/registry. glxext.h содержит расширения GLX, эквивалентные wglext.h в Windows.

Если вы хотите использовать OpenGL 3.x или OpenGL 4.x без функций, которые были перемещены в расширение GL_ARB_compatibility, используйте новый заголовок gl3.h на веб-странице реестра. Он заменяет gl.h, а также glext.h (если вам нужна только функциональность ядра).

Последнее, но не менее важное, glaux.h не является заголовком, связанным с OpenGL. Я предполагаю, что вы прочитали ужасные учебники NEHE и просто согласились с этим. Glaux - это ужасно устаревшая библиотека Win32 (1996) для загрузки несжатых растровых изображений. Используйте что-то лучше, например libPNG, который также поддерживает альфа-каналы.

Ответ 2

Linux

sudo apt-get update
OpenGL: sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev

Окна

Найдите свою папку Visual Studio, где она помещает библиотеки, а также файлы заголовков, загружает и копирует файлы lib в папку lib и файлы заголовков в заголовке. Затем скопируйте файлы dll в system32. Тогда ваш код будет выполняться на 100%.

Также Windows. Для всех этих включений вам просто нужно скачать glut32.lib, glut.h, glut32.dll.

Ответ 4

В Visual Studio:

//OpenGL
#pragma comment(lib, "opengl32")
#pragma comment(lib, "glu32")
#include <gl/gl.h>
#include <gl/glu.h>

Заголовки находятся в SDK: C:\Program Files\Microsoft SDK\Windows\v7.0A\Include\gl

Ответ 5

Какая операционная система?

Здесь на Ubuntu у меня есть

$ dpkg -S /usr/include/GL/gl.h 
mesa-common-dev: /usr/include/GL/gl.h
$ 

но не разница в a) капитализации и b) косые черты вперед/назад. Ваш пример, вероятно, будет неправильным в использовании обратных косых черт.

Ответ 6

Если вы работаете в Windows, они устанавливаются вместе с платформой SDK (или Visual Studio). Однако файлы заголовков совместимы только с OpenGL 1.1. Вам нужно создать указатели функций для новых функций в более поздних версиях. Можете ли вы прояснить, какую версию OpenGL вы пытаетесь использовать.