访问冲突.使用GLEW和GLFW时

And*_*rew 5 c++ opengl glew glfw

我确信一切都是正确的.我最初使用来自非官方GLSDK的glload和glfw,但后来我决定取消glload,这意味着我必须使用glew才能获得现代标题.

#include <GL/glew.h>
#include <GL/glfw.h>
Run Code Online (Sandbox Code Playgroud)

我按照说明在glfw之前加入了glew.

在运行时,OpenGL窗口打开

//(relevant code)
if(!glewInit()) {return -1; }
if(!glfwInit()) {return -1; }
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
// also tried glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);

if(!glfwOpenWindow(1024, 768, 8, 8, 8, 8, 24, 8, GLFW_WINDOW)){
    glfwTerminate();
    return -1;
}

glfwSetWindowTitle("OpenGL 3.2");

//init method
glGenVertexArrays(1, &vao);  //<<  Access violation here.
Run Code Online (Sandbox Code Playgroud)

任何想法我的问题在这里?

我看过了."使用VBO使用glew访问冲突"但它没有任何帮助.

dat*_*olf 7

glewInit被调用一个OpenGL上下文已创建并绑定到CURREN线程,即在glfwOpenWindow你的情况.