Итак, я пытаюсь переместить мой код OpenGL из Main () в определенный класс, который будет обрабатывать трехмерную графику только при необходимости.Ранее верхняя часть моего файла main.cpp выглядела так:
#define GLEW_STATIC
#include <GL/glew.h>
#include <SFML/Graphics.hpp>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "Game.h"
Это работало достаточно хорошо.Я попытался переместить весь код, относящийся к OpenGL, в методы класса Game
.Поэтому я удалил #define GLEW_STATIC
и #include <GL/glew.h>
из вышеперечисленного и поместил их в Game.h так, чтобы верхняя часть Game.h теперь выглядела так:
#define GLEW_STATIC
#include <GL/glew.h>
#include <SFML/Graphics.hpp>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "Environment.h"
Когда я пытаюсь скомпилировать,Я получаю ошибку заголовка, #error gl.h included before glew.h
.
Почему это происходит, и как я могу использовать код OpenGL (почти) полностью внутри функций определенного класса без этого?
РЕДАКТИРОВАТЬ:
Я также пробовал эту конфигурацию в main.cpp, пытаясь убедиться, что ничего не включает SFML до GLEW.
#include <cstdlib>
#include <iostream>
#include <fstream>
#include "Game.h"
#include <SFML/Graphics.hpp>
К сожалению, это не помогает (нет ничегокроме того, что я здесь не упоминаю).