zoukankan      html  css  js  c++  java
  • 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.csdn.net/weinyzhou/article/details/7757360

  • 相关阅读:
    linux:yum
    python:公共操作
    python 控制流程
    linux:lamp环境
    linux:nginx
    深圳:永安在线-安全
    linux:mysql
    linux:shell
    linux:项目上线
    linux:权限管理
  • 原文地址:https://www.cnblogs.com/weinyzhou/p/4983465.html
Copyright © 2011-2022 走看看