Использование GLEE с включением? - PullRequest
1 голос
/ 12 августа 2011

Как вы реализуете GLEE в своем коде, чтобы он загружал расширения, используемые во включаемых файлах?

Например, у меня есть среда сборки Windows, использующая cygwin и GCC, и я делаю ссылки на библиотеки для GLEE,GLUT и opengl32.

Включения в моем главном файле: ..

#include <windows.h>
#include <stdio.h>

#include <GL/GLee.h>
#include <GL/glut.h>

#include "SampleUtils.h"
#include "LineShaders.h"

SampleUtils.h объявляет методы, использующие расширения OpenGL, такие как glCreateShader, которыереализованы в SampleUtils.cpp.Но когда я пытаюсь собрать эти файлы, расширения не объявляются.Я пробовал несколько разных подходов.

Например, включение в SampleUtils

#include <GL/gl.h>
#include <GL/glext.h>

, что приводит к необъявленным ошибкам

#include <GL/GLee.h>

, которые выдают длинный списокошибки, которые, по-видимому, связаны с тем, что GLEE уже был включен.

Я могу загрузить те же расширения, внедрив эти методы в основной файл, но не могу загрузить их из включенного файла.Как это решается?

1 Ответ

0 голосов
/ 12 августа 2011

Посмотрите в GLee.h: 55

#ifdef WIN32
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #include <GL/gl.h>
#elif defined(__APPLE__) || defined(__APPLE_CC__)
    #define GL_GLEXT_LEGACY
    #include <OpenGL/gl.h>
#else // GLX
    #define __glext_h_  /* prevent glext.h from being included  */
    #define __glxext_h_ /* prevent glxext.h from being included */
    #define GLX_GLXEXT_PROTOTYPES
    #include <GL/gl.h>
    #include <GL/glx.h>
#endif

Везде, где вы #include "GLee.h" вы не должны #include gl.h, glext.h или windows.h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...