问题描述
1>OpenGL.obj : error LNK2001: 无法解析的外部符号 __imp____glewFramebufferTexture2DEXT
1>OpenGL.obj : error LNK2001: 无法解析的外部符号 __imp____glewBindFramebufferEXT
1>OpenGL.obj : error LNK2001: 无法解析的外部符号 __imp____glewGenFramebuffersEXT
1>OpenGL.obj : error LNK2019: 无法解析的外部符号 __imp__glewInit@0,该符号在函数 "int __cdecl InitGL(void)" (?InitGL@@YAHXZ) 中被引用
解决方法
网上找了很多种,基本都没用- -试了一个小时终于解决了,记录一下步骤:
- 在代码最初加上
#pragma comment(lib, "glew32.lib")
【当然,前提是VS根目录/VC/Lib下有glew32.lib文件】 - 【上一步的代替方案】在VS中右键项目,点击属性-链接器-输入,在输入依赖项一栏填上glew32.lib,选择从父级或项目默认继承
- 【最重要的一步】在引入glew32.dll,glew32.lib,glew32s.lib这几个文件时一定要用32位的!!!不管你的电脑是32位还是64位……而且保险起见建议在
Windows/System32
和Windows/SysWOW64
文件夹中都放一份glew32.dll文件 - PS: 此外,在引入glew库时要注意顺序。一定要在GLUT引入之前引入,否则会编译错误。也就是说,必须先
#include <gl/glew.h>
再#include <gl/glut.h>
或者其他OpenGL文件