Сделайте запрос к локальному серверу на порт 8080

Здесь вы смешиваете 3 разных объекта:

  1. OpenGL
  2. GL Utilities (GLU), которые не являются частью OpenGL
  3. и GL Extension Wrangler (GLEW)

GLEW и GLU - это совершенно разные вещи, и вы не можете заменить их другим.

GL/gl.h являются базовыми заголовками OpenGL , которые дают вам функции OpenGL-1.1 и объявления токенов, возможно, больше. Для чего-либо, выходящего за пределы версии 1.1, вы должны использовать механизм расширения OpenGL. Так как это скучная и утомительная задача, которая была автоматизирована проектом GLEW, который предлагает все грязные детали, собранные в простой в использовании библиотеке. Объявления этой библиотеки находятся в файле заголовка GL/glew.h. Поскольку расширения OpenGL не имеют смысла без базового OpenGL, заголовок GLEW неявно включает в себя обычный заголовок OpenGL, поэтому, включая GL/glew.h, вам больше не нужно включать GL/gl.h.

Затем есть GLU, набор удобных методов, которые BTW серьезно устарели и не должны использоваться в любой современной программе OpenGL. Там нет современного GLU, поэтому просто забывайте об этом. В любом случае, объявления становятся доступными заголовком GL/glu.h (тот, о котором вы просили).

Ошибки, которые вы получаете , не имеют никакого отношения к файлам . Это ошибки компоновщика. Просто включение деклараций - это только половина работы. Другая половина связывает фактические определения , и они не находятся в заголовке в файле библиотеки; libglew.so или libglew.a в ОС * nix OS, glew.lib или glew32.lib или glews.lib или glew32s.lib в Windows. Если вы не используете статические версии (те, у которых нет «s»), вы также должны установить правильную DLL.

Итак, чтобы использовать GLEW, вам нужно включить заголовок и добавить его в список библиотек в линкера. Также вы должны называть glewInit();, как только вы получили контекст OpenGL в своей программе.

1
задан Alejandro Vales 18 March 2019 в 10:00
поделиться