# ошибка gl.h включена до glew.h
Поэтому я пытаюсь переместить свой код 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>
К сожалению, это не помогает (нет ничего другого, о чем я здесь не упоминаю).