转载自:http://473687880.iteye.com/blog/1961885
1. 如果要使用glew相关的函数,那么一定要先对glew初始化。
如果不初始化,那么虽然编译相关的程序不会报错,但是在运行时,则会报告段错误
2.初始化的方法
按glew官方网站上的说明:
- #include <GL/glew.h>
- #include <GL/glut.h>
- ...
- glutInit(&argc, argv);
- glutCreateWindow("GLEW Test");
- GLenum err = glewInit();
- if (GLEW_OK != err)
- {
- /* Problem: glewInit failed, something is seriously wrong. */
- fprintf(stderr, "Error: %s\n", glewGetErrorString(err));
- ...
- }
- fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));
http://glew.sourceforge.net/basic.html
3.初始化的位置
-------------------分割线-------------------------初始化的代码最好放在OpenGL以及 GLUT的初始化完成之后。如果放在它们前面,就会出现"Missing GL version"错误。关于这个错误,网上的说明是需要一个OpenGL的环境,可能的原因就是初始化位置过早,OpenGL的环境没有完全建立.
4.我就是因为没有建立OpenGL环境(windows MFC,需要调用wglMakeCurrent(m_hDC, tempContext);)造成glewInit返回1(成功返回0)。