【问题标题】:Qt5.2.1 : error: gl.h included before glew.h is NOT SOLVEDQt5.2.1:错误:未解决 glew.h 之前包含的 gl.h
【发布时间】:2014-07-03 22:40:47
【问题描述】:

我一直在尝试通过将 GLEW 包含到 Qt 中来解决广为人知的问题。但我仍然没有成功。 在人们开始对重复问题投反对票之前;我实际上经历了thisthisthis SO 帖子,其中解释了解决方法。

  1. 我使用 opengl 桌面配置从源代码重新编译了 Qt 5.2.1。没有帮助。

  2. 我将 glew.h 和 Qt 不相关的东西放到另一个 header/cpp 中,它也没有帮助。

  3. 我试图在#include <QGLWidget> 之前包含glew.h,但效果不佳。唯一有效的情况是我将glew.h 放在main.cpp 的顶部,它是当然在应用设计方面是不可接受的。

所以我问这里还能做什么?我知道我可以使用像 GLEW 一样提供 GL 函数指针的 Qt gl 头文件,但我不能这样做,因为我有一个链接到使用 GLEW 的 Qt 的库。一旦我使用了该库内容,我就会把“gl.h 包含在glew.h 之前”弄得一团糟。

【问题讨论】:

    标签: c++ qt opengl


    【解决方案1】:

    为什么在main.cpp 顶部包含<glew.h> 是“不可接受的”? (提示:不是)

    您似乎需要确保在 Qt 有机会这样做之前,在代码中的任何地方都包含 glew.h 标头。我会将它添加到我的 global.h 样式标题中,并确保将其包含在我项目的每个标题中。

    【讨论】:

    • 发生了什么即使我在 main.cpp 的最顶部包含 glew.h ,如果我在另一个地方也包含 glew.h ,例如在 之前的某些小部件的标题中它仍然会引发该错误。
    • 哎呀!是的,你是绝对正确的。我跳过了#include ,它被包含在有问题的标题上方的另一个位置,带有glew.h。嗯....真是愚蠢的错过。
    猜你喜欢
    • 1970-01-01
    • 2014-03-13
    • 2012-01-24
    • 2013-03-06
    • 2011-08-11
    • 2012-08-20
    • 1970-01-01
    • 2010-09-30
    • 2013-01-30
    相关资源
    最近更新 更多