【发布时间】:2019-04-11 23:26:12
【问题描述】:
我有一个用来编译的 Ogl 程序。然而,在几个月没有工作之后,我回来了,发送我的 IDE 代码块来编译它,然后我返回了:
/.../glew-2.1.0/include/GL/glew.h|1205|错误:GL/glu.h:没有这样的文件或目录|
/.../glfw-2.7.9/include/GL/glfw.h|176|错误:GL/gl.h:没有这样的文件或目录|
所以它打开 glew 标题并指向这些行:
#include <GL/gl.h>
#include <GL/glu.h>
一些观察。 1) 上次效果很好。 2) 我不使用 Glu。
我相信某些配置是无意中更改的。问题是:在哪里?
我的第一个假设是 IDE。我看着它,一切似乎都是正确的。在项目构建选项的“链接器设置”选项卡中,glfw 和 glew 的 .so 库文件在那里。在“搜索目录”选项卡中有指向 glew/include/GL 和 /glfw/include/GL 的链接
在这些目录的第一个是 glfw 标头。在后者上,glew.h 和其他三个 glew 相关的头文件。
在整个系统上寻找 for glu.h 和 gl.h 头文件,我找不到任何东西。我做了一个
sudo apt-get install mesa-common-dev
但是当我尝试编译程序时它并没有改变任何东西。
是否还有其他代码块设置需要调整而我错过了?关于系统配置错误,我还能在哪里寻找有用的信息?哪个原因似乎更有可能?
【问题讨论】:
-
为什么会有这么古老的 GLFW?
-
使用文件管理器并转到
/.../glfw-2.7.9/include/GL/位置以检查您的 GL 标头是否存在于所需位置...如果您的设置已更新某些内容,则路径上的版本号可能会更改(在IDE/编译器或 HDD 上)另一个选项(如果文件在应有的位置)可能会更改访问权限或防病毒干预。什么操作系统?您可以从 nVidia 下载缺少的 GL 标头。这也可能是相对路径的问题包括...在这种情况下尝试使用#include <gl.h> -
强制重新安装 mesa-common-dev,即
sudo apt-get install -f mesa-common-dev- 如果软件包已经安装,那么普通的apt-get install将变为无操作。 -
@datenwolf。试过了,关于 gl.h 的抱怨消失了。但是,关于 glu 的内容仍然存在。最尴尬的是,我不使用 glu。尽管如此,它一直在抱怨它并提到我的功能“显示”,我阅读了每一行并且没有调用 glu。有一个调用可能使用 glu 的“glfwSwapBuffers”?
-
@Spektre。我将 glfw 标头更改为#include
。正如预期的那样,它没有工作,因为我在我的系统中找不到 glu 标头。 gl.h 在遵循 datenwolf 建议后正在工作。将尝试找出包含它的正确包或在某些网站中单独查找它。
标签: c opengl codeblocks glfw glew