VS2013下glew库链接失败问题OpenGL.obj : error LINK2001: 无法解析的外部符号 __imp____glewFramebufferTexture2DEXT

问题描述

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.dllglew32.libglew32s.lib这几个文件时一定要用32位的!!!不管你的电脑是32位还是64位……而且保险起见建议在Windows/System32Windows/SysWOW64文件夹中都放一份glew32.dll文件
  • PS: 此外,在引入glew库时要注意顺序。一定要在GLUT引入之前引入,否则会编译错误。也就是说,必须先#include <gl/glew.h>#include <gl/glut.h> 或者其他OpenGL文件

猜你喜欢

转载自blog.csdn.net/LemonXQ/article/details/77427286