GLFW не может скомпилироваться без "glu.h" и "windows.h" - PullRequest
0 голосов
/ 31 октября 2018

Я хочу создать игровой движок, но моя графическая подсистема не будет компилироваться без <GL/glu.h> и <windows.h>.

  1. Компиляция Graphics.cpp только с <GLFW/glfw3.h>, без обоих заголовков выведет ошибку на Graphics.cpp, 'gluErrorString' was not declared in this scope.
  2. Компиляция Graphics.cpp с <GLFW/glfw3.h> AND '', без <windows.h> выведет ошибку на glu.h, c:\mingw\include\gl\glu.h|225|error: 'WINGDIAPI' does not name a type. Некоторый обходной путь, который я нашел, должен также включать <windows.h> в Graphics.cpp.
  3. Компиляция Graphics.cpp с <GLFW/glfw3.h> И '' И <windows.h> не возвращает ошибок. Проблема в том, что эта программа не кроссплатформенная, не так ли?

Как указано в Руководство по сборке GLFW в разделе Including the GLFW header file; Не нужно включать файлы заголовков windows.h и OpenGL, так как они уже включены в заголовок GLFW. Поэтому я стараюсь следовать руководству или рекомендациям и пытаюсь сделать мой игровой движок кроссплатформенным.

Ниже приведены параметры компоновщика в CodeBlock,

-lglfw3
-lOpenGL32
-lglu32
-lgdi32

1 Ответ

0 голосов
/ 31 октября 2018

Оказывается, мне нужно только написать GLFW_INCLUDE_GLU в настройках компилятора CodeBlock в разделе #defines.

Источник: Создание программы GLFW, Сугих Джамин

...