#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
Это пример, но где взять заголовки GL?
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
Это пример, но где взять заголовки GL?
В 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 вам нужно установить ссылку на 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, который также поддерживает альфа-каналы.
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
.
Смотрите: http://opengl.org/resources/faq/technical/gettingstarted.htm Q: 2.060
В 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
Какая операционная система?
Здесь на Ubuntu у меня есть
$ dpkg -S /usr/include/GL/gl.h
mesa-common-dev: /usr/include/GL/gl.h
$
но не разница в a) капитализации и b) косые черты вперед/назад. Ваш пример, вероятно, будет неправильным в использовании обратных косых черт.
Если вы работаете в Windows, они устанавливаются вместе с платформой SDK (или Visual Studio). Однако файлы заголовков совместимы только с OpenGL 1.1. Вам нужно создать указатели функций для новых функций в более поздних версиях. Можете ли вы прояснить, какую версию OpenGL вы пытаетесь использовать.