GLEW Does Not Work with an OpenGL 3 or 4 Core Profile



I just received the information about a bug in GLEW that prevents to use it with an OpenGL core profile (OpenGL 3 or OpenGL 4). The bug comes from the fact that the function:


is used in glewGetExtension() which is often called in GLEW initialization.

Why glGetString(GL_EXTENSIONS) is a problem?

Simply because in a core profile, GL_EXTENSIONS is DEPRECATED. In the OpenGL 3 or 4 specifications (see the GL4 specs HERE) you can find in the deprecated and removed features section:

  • Unified extension string – EXTENSIONS target to GetString.

glGetString(GL_EXTENSIONS) being deprecated, an error is generated, no extension is returned and then GLEW fails to initialize.

So currently, it’s not recommended to use GLEW with a core profile context.

Source: AMD