У меня есть проект OpenGL со многими заголовочными файлами. Я использую LIB GLEW и мои Main.cpp
начинается так:Как включить заголовок в порядок?
// use GLEW as static lib requires GLEW_STATIC
#define GLEW_STATIC
#include <GL/glew.h>
// ...
Там сообщило об ошибке:
GL/glew.h(85): fatal error C1189: #error: gl.h included before glew.h
Так что мне нужно включить GL/glew.h
перед любым другим заголовком, который включает gl.h
. Поэтому я добавляю эти строки в каждый заголовок:
#ifndef GLEW_INCLUDED
#define GLEW_STATIC
#include <GL/glew.h>
#define GLEW_INCLUDED
#endif
Я должен изменить каждый заголовок, кажется, «грязной» работой. Есть ли какой-либо чистый способ сделать это?
Я восстановил заголовки, удалив эти строки. Я обнаружил, что некоторые заголовки включают 'glew.h', и ни одна из них не включает' gl.h'. Затем я добавил '#define GLEW_STATIC'' #include '' 'Main.cpp'. Все еще получил ошибку. Я сделал ошибку? –
stanleyerror
@stanleyerror: Я сказал положить 'GLEW_STATIC' в вашу систему сборки в командной строке, а не в' main'. Если вы используете make-файл, вы добавляете его в ключи командной строки вашего компилятора. Если вы используете Visual Studio, тогда в вашем проекте есть параметр для определения (как отладки, так и выпуска). Я не могу сказать вам, как использовать ваши инструменты построения, но это то, где вы его положили. –