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

  • 相关阅读:
    python实现JWT
    Flask上下文管理源码--亲自解析一下
    python小猪蹄儿
    AI数据分析(三)
    AI数据分析(二)
    AI数据分析(一)
    Linux目录结构
    Linux安装与基本命令
    Spring MVC基础环境搭建
    Windows 上解压缩版 MySQL 配置
  • 原文地址:https://www.cnblogs.com/weinyzhou/p/2750078.html
Copyright © 2011-2022 走看看