我使用的每个 glew 函数的未解析外部符号

Unresolved external symbol for every glew function I use

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

其他库:

附加依赖项:

通过对每个 glew 函数(如 glGenBuffersglUseProgram 或任何东西进行这样的设置,我得到 LNK2001 未解析的外部符号错误。 有什么线索是我哪里做错了吗?

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

好吧,当我 link 它是动态的(glew32.lib 而不是 glew32s.lib 时,它似乎工作正常)。 仍然不知道为什么 static linkeng 没有解决。

如果您想 link windows 上的静态 glew 库,那么您必须在编译应用程序时定义 GLEW_STATIC 预处理器定义。
参见 Building Your Project with GLEW
.

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