[VS2013+Win7]GLEW库配置问题 error LNK2019: 无法解析的外部符号 _gluGetString@4
2015-05-23 23:26
344 查看
先说下载安装GLEW的方法:
http://glew.sourceforge.net/下载包,里面有win32和win64两个版本,我虽然是x64,但是亲测只能用win32的
把头文件拷贝到VC/include/GL文件夹,将win32的glew32.lib拷贝到VC/lib文件夹,将win32的glew32.dll拷贝到C:\Windows\SysWOW64文件夹
测试代码为:
#include <GL/glew.h>
int main(){
const GLubyte * p = glGetString(GL_VERSION);
return 0;
}
错误为:
1>OpenGLVersion.obj : error LNK2019: 无法解析的外部符号 __imp__glGetString@4,该符号在函数 _main 中被引用
1>Visual Studio 2013\Projects\OpenGLVersion\Debug\OpenGLVersion.exe : fatal error LNK1120: 1 个无法解析的外部命令
这个问题,可能与软件有关,所以建议大家把各个方法都试一试。
现在已经有一些博文是谈这个问题的,建议先试试,都不行再来试试我的这个方法:
http://blog.csdn.net/vanlin5566/article/details/42384387 http://blog.csdn.net/huanghuibai/article/details/9503261
总结一下网上常规解决办法有几种:
1.右键单击项目>属性>链接器>输入,添加依赖项glew32.dll
2.在前面添加#pragma comment(lib,"glew32.lib")
3.认为动态链接库glew32.lib没法用,但是静态链接库glew32s.lib可以用,所以在前面添加#deifne GLEW_STATIC,使用静态库。当然也就不需要glew32.dll了 。
以上方法我都试过了,但是无效,因为我的glew32.lib和glew32s.lib都没法用。所以求助于其它库的链接库。
我的解决方法是:在开头添加
#include <GL/glew.h>
#include <GL/freeglut.h> (这个库你得自行下载)
当然开头如果有#define GLEW_STATIC也要删去
PS:有时glew库并没有被#include,但是其他库使用了glew库,出错的根本原因还是在这,那么就得在开头添加这两句
然后又遇到一个提示说找不到文件freeglutd.lib,这个也很蹊跷,然后将freeglut.lib的文件名改为了freeglutd.lib,然后就编译通过了。
虽然方法很不雅但是也是一个将就的方案吧。借鉴于上面的方法3。
另外之前还试过一个方法,在项目>属性>链接器>输入>依赖项里添加opengl32.lib,这段代码是可以运行了,但是其他的包含glew.h的代码仍然不能运行,所以这个方法不好。而添加freeglut.h的方法貌似能解决所有问题。所以发出来
http://glew.sourceforge.net/下载包,里面有win32和win64两个版本,我虽然是x64,但是亲测只能用win32的
把头文件拷贝到VC/include/GL文件夹,将win32的glew32.lib拷贝到VC/lib文件夹,将win32的glew32.dll拷贝到C:\Windows\SysWOW64文件夹
测试代码为:
#include <GL/glew.h>
int main(){
const GLubyte * p = glGetString(GL_VERSION);
return 0;
}
错误为:
1>OpenGLVersion.obj : error LNK2019: 无法解析的外部符号 __imp__glGetString@4,该符号在函数 _main 中被引用
1>Visual Studio 2013\Projects\OpenGLVersion\Debug\OpenGLVersion.exe : fatal error LNK1120: 1 个无法解析的外部命令
这个问题,可能与软件有关,所以建议大家把各个方法都试一试。
现在已经有一些博文是谈这个问题的,建议先试试,都不行再来试试我的这个方法:
http://blog.csdn.net/vanlin5566/article/details/42384387 http://blog.csdn.net/huanghuibai/article/details/9503261
总结一下网上常规解决办法有几种:
1.右键单击项目>属性>链接器>输入,添加依赖项glew32.dll
2.在前面添加#pragma comment(lib,"glew32.lib")
3.认为动态链接库glew32.lib没法用,但是静态链接库glew32s.lib可以用,所以在前面添加#deifne GLEW_STATIC,使用静态库。当然也就不需要glew32.dll了 。
以上方法我都试过了,但是无效,因为我的glew32.lib和glew32s.lib都没法用。所以求助于其它库的链接库。
我的解决方法是:在开头添加
#include <GL/glew.h>
#include <GL/freeglut.h> (这个库你得自行下载)
当然开头如果有#define GLEW_STATIC也要删去
PS:有时glew库并没有被#include,但是其他库使用了glew库,出错的根本原因还是在这,那么就得在开头添加这两句
然后又遇到一个提示说找不到文件freeglutd.lib,这个也很蹊跷,然后将freeglut.lib的文件名改为了freeglutd.lib,然后就编译通过了。
虽然方法很不雅但是也是一个将就的方案吧。借鉴于上面的方法3。
另外之前还试过一个方法,在项目>属性>链接器>输入>依赖项里添加opengl32.lib,这段代码是可以运行了,但是其他的包含glew.h的代码仍然不能运行,所以这个方法不好。而添加freeglut.h的方法貌似能解决所有问题。所以发出来
相关文章推荐
- 解决 error LNK2019: 无法解析的外部符号 问题
- 解决 error LNK2019: 无法解析的外部符号 问题
- SDL项目常见问题( error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用)
- 解决 error LNK2019: 无法解析的外部符号 问题
- SDL项目常见问题( error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用)
- Cocos2d-X3.0bate_关于一些“无法解析的外部符号”的配置问题解决方法
- 关于CxImage配置正确之后出现无法解析的外部符号问题
- error LNK2019:无法解析的外部符号.lib是用vc6编的,其中用到了消息响应,vc6的消息响应函数和vc2005的消息响应函数的参数和返回值类型不同造成的链接问题.
- 配置openmesh总是出现error LNK2019: 无法解析的外部符号此类问题的解决办法
- 解决 error LNK2019: 无法解析的外部符号 问题
- error LNK2019: 无法解析的外部符号 _gluGetString@4,该符号在函数 _main 中被引用
- error LNK2019: 无法解析的外部符号 (C++编程出现问题的解决办法)
- VS2012配置Opengl以及“无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用”问题
- error LNK2019:无法解析的外部符号的问题解决方案
- Qt 或者VS配置问题:无法解析的外部符号,无法打开包括文件,,都可归结为 没有配置好
- VS2013下glew库链接失败问题OpenGL.obj : error LINK2001: 无法解析的外部符号 __imp____glewFramebufferTexture2DEXT
- Cocos2d-X3.0bate_关于一些“无法解析的外部符号”的配置问题解决方法
- error LNK2019: 无法解析的外部符号
- <转>关于 error LNK2019:无法解析的外部符号 ,该符号在函数**中被引用的思考
- error LNK2019: 无法解析的外部符号