18

我正在按照红皮书学习 OpenGL。当我来到第 90 页左右时,我需要使用glGenBuffers(); 然后我需要安装“glew”。

按照此处的步骤操作。

我下载glew.zipglew.sourceforge.net/解压文件。

我放

  • glew.hC:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
  • glew32.libC:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib, 和
  • glew32.dllC:\Windows\System32

之后,我在 VS 2010 中构建我的项目,并在其中Linker->input添加依赖项glew32.lib

但是当我构建它时,我有一个错误:

unresolved external symbol __imp__glewInit
4

5 回答 5

46

由于尚未提及,我的问题是我正在链接静态版本的glew(glew32s.lib),但我没有定义GLEW_STATIC预处理器符号(所以我正在编译的头文件与我的库不匹配正在链接反对)。

于 2013-01-20T06:43:25.047 回答
8

我需要编译glew的源代码。

如何编译,参见:OpenGL: How to compile glew32.dll from source file

然后你会得到glew32d.dllglew32d.lib

  • 放入glew32d.dllc:\windows\sysWOW64我也放入systemsystem32)。
  • 放入glew32d.lib_C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
  • 放入glew.h_C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include

然后它将起作用。

于 2011-01-17T19:14:47.233 回答
6

与从源代码编译 dll 相比,另一种可能的解决方案和更少的工作是仅使用 32 位二进制文​​件。Windows 7 64 位只是不想与他们目前可用的 64 位二进制文​​件合作。

如果有人需要,这是一个非常通用的设置指南。http://openglbook.com/setting-up-opengl-glew-and-freeglut-in-visual-c/

于 2012-03-28T05:34:20.687 回答
2

我也为此挣扎了几个小时。然后我意识到我的程序是win32而不是x64。当我应该使用 win32 文件夹下的 glew.lib 时,我将 glew.lib 包含在 x64 文件夹下。

于 2015-04-19T09:34:32.273 回答
1

还要确保为它添加正确的包含。我做了所有疯狂的图书馆工作,不知何故忘记了实际包含头文件。

就我而言,它是:

#include <GL/glew.h>
于 2011-10-03T05:26:57.417 回答