1

我想在64 bit. 所以我下载了 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 等等?)

4

2 回答 2

1

当您想在 Windows 上链接静态 glew 库时,您必须在GLEW_STATIC编译应用程序时定义预处理器定义。
请参阅使用 GLEW 和GLEW构建您的项目- 为什么要定义 GLEW_STATIC?.

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

于 2019-10-14T18:36:10.500 回答
0

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

于 2019-10-14T18:07:52.850 回答