【问题标题】:Why do I need to link against opengl32 when I have glew32?当我有 glew32 时,为什么我需要链接到 opengl32?
【发布时间】:2021-04-03 15:13:40
【问题描述】:

为什么在编译 OpenGL 程序时我需要 libopengl32.dlllibglew32 库?库之间有什么区别,为什么我需要两者?

【问题讨论】:

    标签: c++ opengl glew


    【解决方案1】:

    在编译 OpenGL 程序时,您确实(总是)需要libopengl32.dlllibglew32 库。在编译 GLEW 程序时你需要两者(这意味着它也是一个 OpenGL 程序,因为 GLEW 是基于 OpenGL 构建的)。对于某些人来说,这种差异是学术性的,因为如果没有 GLEW(等)的便利,他们永远不会考虑编写 OpenGL 程序。但是,OpenGL 不需要 GLEW。

    您的 OpenGL 库是 GLEW 库所依赖的基础。你可以在没有 GLEW 的情况下使用 OpenGL,但你不能在没有 OpenGL 的情况下使用 GLEW。如果您的程序使用 GLEW,那么您需要链接您的 GLEW 库,因为您正在使用它,并且您需要链接您的 OpenGL 库,因为 GLEW(可能还有您的代码)使用它。如果您使用的是没有 GLEW 元素的纯 OpenGL,则只需链接您的 OpenGL 库。

    【讨论】:

    • “因为如果没有 GLEW 的便利,他们永远不会考虑编写 OpenGL 程序” — GLEW 并不是唯一的扩展包装器。还有很多其他的,包括 QtOpenGL、GLAD、GLee、...
    • @Ruslan 好吧,是的。使用其他扩展包装器的人不是“某些人”的一部分,他们不会考虑在没有 GLEW 便利的情况下编写 OpenGL 程序。不过,如果没有一些扩展包装器的便利,他们可能永远不会考虑编写 OpenGL 程序。我只是想让我的答案与问题一样集中。 (列出其他人感觉就像是在切线。)
    • 嗯...也许有些微妙?
    猜你喜欢
    • 2021-01-20
    • 2011-10-20
    • 1970-01-01
    • 2020-04-14
    • 2023-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2015-07-11
    相关资源
    最近更新 更多