使用GLEE包含?

时间:2011-08-12 14:22:37

标签: opengl

如何在代码中实现GLEE,以便加载包含文件中使用的扩展名?

例如,我有一个使用cygwin和GCC的Windows构建环境,并且链接到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 :(得分:0)

查看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" <{1}},#includegl.hglext.h