【问题标题】:My OGL program cannot find gl.h and glu.h anymore我的 OGL 程序再也找不到 gl.h 和 glu.h
【发布时间】: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 &lt;gl.h&gt;
  • 强制重新安装 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


【解决方案1】:

在你的包管理器中搜索 mesa 和 glu

sudo apt-cache search mesa | grep glu

您应该会在其中看到一个包含 glu 标头的包。对我来说,我用

解决了这个问题

sudo apt-get install libglu1-mesa libglu1-mesa-dev

与这篇文章类似:

https://www.linuxquestions.org/questions/linux-software-2/mesa-glut-libraries-178145/

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 2017-01-17
    • 2013-09-08
    • 2021-06-13
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多