【问题标题】:OpenGL Glew error concerning X11 header files关于 X11 头文件的 OpenGL Glew 错误
【发布时间】:2011-04-18 10:25:29
【问题描述】:

好的,所以我对 OpenGL 有点陌生,但我认为我应该学习使用 OpenGL,因为它目前的意思是从 go 开始就使用它。所以我跳过了所有使用 glew 来访问 OpenGL 3.x 并遵循在线教程的固定管道内容。

在线教程只提到我必须自己安装glew才能开始,因为我有一个显卡,它的驱动程序带有OpenGL 4.0。所以我已经准备好了,我已经下载了 glew 二进制文件的 win32 版本,安装了它,在 VC++ 2010 中创建了一个项目,设置了所有路径,并按照教程制作了一个快速的 OpenGLContext 类,它可以生成渲染上下文,并将其放入 Ms Window(没有过剩)。问题是当我构建此类时,我在其中一个 glew 头文件中出现错误。

涉及到一系列涉及X11的头文件。该教程似乎暗示我不应该去查找和下载并设置 X11 的路径信息,所以我不知道我做错了什么。有什么帮助、建议等吗?

这是具体错误:“1>c:\glew\glew-1.5.8\include\gl\glxew.h(97): 致命错误 C1083: 无法打开包含文件: 'X11/Xlib.h' : 没有这样的文件或目录”

与错误有关的唯一来源是错误中所述文件顶部的一系列包含语句。

下载的glew库可以在这里找到:https://sourceforge.net/projects/glew/files/glew/1.5.8/glew-1.5.8-win32.zip/download

我不知道这是否重要,但这是我在源代码中引用 OpenGL 和 glew 的方式

#pragma once 

#include <gl/glew.h>
#include <gl/wglew.h>
#include <gl/GL.h>

#pragma comment(lib, "glew32.lib")
#pragma comment(lib, "opengl32.lib") 

更新:此错误已通过删除 gl/GL.h 包含修复...是的,我也不知道...无论如何,整个项目都很有趣...

【问题讨论】:

  • 也许你不小心安装了一个 GLEW 编译器,该编译器是为了与某些 Window X11 服务器一起使用。通常你不需要 X11 来使用 GLEW。然而,其他地方可能有问题,所以报告错误的逐字副本,加上一些源代码是唯一的判断方法。

标签: opengl x11 glew


【解决方案1】:

GLEW installation guide 提到 glew.h 应该替换 gl.h

更简单但不太灵活的方法是将 glew.h 和 glew.c 包含到您的项目中。在 Windows 上,您还需要在构建静态库或可执行文件时定义 GLEW_STATIC 预处理器令牌,并在构建 dll 时定义 GLEW_BUILD 预处理器令牌。您还需要在代码中替换 and with 并设置适当的包含标志 (-I) 以告诉编译器在哪里查找它。

另外,请查看this answer 另一个问题,了解 GLEW 的一些技巧。

【讨论】:

  • 这早就应该了,但这是对所述问题的完美解释以及我的修改起作用的原因;你应该得到我可以奖励的所有学分。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多