opengl 关于glewGetContext没有定义

继昨天的glGenBuffers加入相关文件之后,其实编译还是有问题的,因为glew里面很多函数都是使用了宏定义。


因为必须在预处理中加入:

GLEW_MX
WIN32_LEAN_AND_MEAN
VC_EXTRA_LEAN

,开启相关的宏定义,注意我这里编译的ew是动态链接库,如果你编译的是静态链接库,

必须加入对应的静态宏GLEW_STATIC


加入相关的文件头,注意头文件顺序,否则会提示相关结构体等没有定义.

#include <GL/glew.h>
#if defined(_WIN32)
#include <GL/wglew.h>
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
#include <GL/glxew.h>
#endif

#include <gl/glut.h>

然后还要加入glewGetContext的宏定义

#ifdef GLEW_MX
GLEWContext _glewctx;
#define glewGetContext() (&_glewctx)
#ifdef _WIN32
WGLEWContext _wglewctx;
#define wglewGetContext() (&_wglewctx)
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
GLXEWContext _glxewctx;
#define glxewGetContext() (&_glxewctx)
#endif
#endif

到此编译虽然可以正常了,但是运行时有些人可能会发现会发生异常。原因红宝书中没有加入初始化ew的代码,

最后加入glewInit();

到此一切正常了。


版权所有,禁止转载。

发布自:http://blog.youkuaiyun.com/weinyzhou/article/details/7757360

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值