首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问冲突。使用GLEW和GLFW时

访问冲突。使用GLEW和GLFW时
EN

Stack Overflow用户
提问于 2012-12-19 08:38:21
回答 3查看 3.8K关注 0票数 5

我确信所有的东西都是正确链接的。我最初使用的是来自非官方GLSDK的glload和glfw,但后来我决定放弃glload,这意味着我必须使用glew才能获得现代的头文件。

代码语言:javascript
复制
#include <GL/glew.h>
#include <GL/glfw.h>

根据说明,我已经在glfw之前包含了glew。

在运行时,OpenGL窗口会打开

代码语言:javascript
复制
//(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.

你知道我的问题出在哪里吗?

我看过了。"Access violation using VBO with glew“,但没有帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-19 09:32:42

票数 8
EN

Stack Overflow用户

发布于 2013-11-01 13:30:14

有点晚了,但我想我还是来吧。

正如datenwolf所提到的,在你发布的相关代码中,由于glewInit()的定位,它应该会返回一个错误。

您可能会遇到的另一个潜在问题在http://www.opengl.org/wiki/OpenGL_Loading_LibraryGLEW部分下进行了描述。

从上面复制-粘贴:

GLEW在核心上下文方面有一个问题。它调用glGetString(GL_EXTENSIONS)​,一旦调用glewInit()​,就会导致GL​核心上下文上的GL_INVALID_ENUM​。

GLEW的解决方案(也由上面的链接提供)是启用“实验性”支持。例如:

代码语言:javascript
复制
glewExperimental = GL_TRUE;
GLenum err = glewInit();
if( err != GLEW_OK )
{
    printf("GlewInit error");
    exit(1);
}
票数 3
EN

Stack Overflow用户

发布于 2015-10-05 08:57:16

也很晚了,但对于任何还在寻找的人来说

代码语言:javascript
复制
glewExperimental = GL_TRUE;

在初始化上下文之前,去掉了访问冲突错误,而是使程序退出时出现了GL_INVALID_ENUM错误。使用GLFW,我必须另外注释掉窗口提示:

代码语言:javascript
复制
//glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
//glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
//glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
//glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);

然后程序就开始编译了!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13943825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档