2

我目前正在关注 openglbook.com 教程(设置)(教程)并且很早就遇到了问题。我收到以下两个错误:

1>main.obj : error LNK2019: unresolved external symbol __imp__glewGetErrorString@4 referenced in function _Initialize
1>main.obj : error LNK2019: unresolved external symbol __imp__glewInit@0 referenced in function _Initialize

我已经下载并编译了 freeglut 2.8.0 以及 glew 1.9.0 二进制文件。我已将库和包含分别复制到 C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Lib 和 Include 中。Lib 和 Include 路径也已添加到 Additional Library/Include 目录下的我的项目属性中。

我还在链接器->输入->附加依赖项中定义了 glew32.lib 和 freeglut.lib。

我在主文件的顶部包含了 GL/glew.h 和 GL/freeglut.h。

我错过了什么?我发现的所有其他线程都已通过将目录添加到项目属性中来解决。有没有人有任何想法?

4

1 回答 1

5

这意味着您尝试将 GLEW 用作 DLL(因为您的应用程序会查找以 __imp 开头的名称,例如 "import" ),但您没有将 GLEW 构建为 DLL(否则它会起作用)。

3 种可能的选择:

  • GLEW_BUILD使用预处理器定义(项目->属性->C++->预处理器->附加定义)重建 GLEW 。然后重建您的应用程序。
  • 根本不要构建 GLEW。只需将 glew.c 放入应用程序的项目中。这是最简单的方法。
  • (我最喜欢的)GLEW_STATIC在应用程序的预处理器定义中定义,然后重新构建。
于 2012-09-27T07:43:12.723 回答