【问题标题】:Unresolved external symbol for every glew function I use我使用的每个 glew 函数的未解析外部符号
【发布时间】:2020-02-11 08:31:19
【问题描述】:

我想在64 bit 中创建新的 OpenGL/GLEW/GLFW Visual Studio 项目。所以我下载了 glew 二进制文件和 glfw 二进制文件。我的项目设置如下:

其他库:

  • glew-2.1.0\lib\Release\x64
  • glfw-3.3.bin.WIN64\lib-vc2019

其他依赖项:

  • glew32s.lib(我不明白为什么它命名为 glew32 并且它在 x64 文件夹中)
  • opengl32.lib
  • glfw3.lib

为每个 glew 函数设置这样的设置,如 glGenBuffersglUseProgram 或任何我得到 LNK2001 未解决的外部符号错误。 有什么线索我在哪里做错了吗?

(由于我是所有这些的新手,有人可以解释为什么我必须在 64 位应用程序上链接 opengl32.lib 以及为什么没有 opengl64.lib 等等?)

【问题讨论】:

    标签: opengl glfw glew


    【解决方案1】:

    当您想在 Windows 上链接静态 glew 库时,您必须在编译应用程序时定义 GLEW_STATIC 预处理器定义。
    Building Your Project with GLEW
    GLEW - why should I define GLEW_STATIC?

    如果您使用 gnu (g++),则只需在构建命令中添加 -D GLEW_STATIC
    在 Visual Studio 中,将 GLEW_STATIC 添加到 项目属性 -> C/C++ -> 预处理器 -> 预处理器定义

    【讨论】:

      【解决方案2】:

      当我动态链接它时它似乎工作(glew32.lib 而不是 glew32s.lib)。 仍然不知道为什么静态链接不起作用。

      【讨论】:

        猜你喜欢
        • 2023-03-22
        • 1970-01-01
        • 2012-02-29
        • 2014-04-20
        • 2013-11-03
        • 2013-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多