如何在代码中实现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的事实有关。
我可以通过在主文件中实现这些方法来加载相同的扩展,但无法从包含的文件加载它们。这是如何处理的?
答案 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}},#include
,gl.h
或glext.h
。