error LNK2019: 无法解析的外部符号(转)
(2013-07-22 14:38:11)
标签:
vc |
分类: C |
error LNK2019,具体描述为:error LNK2019: 无法解析的外部符号 _gluPerspective@32,该符号在函数 “void __cdecl ReSizeGLScene(int,int)” (?ReSizeGLScene@@YAXHH@Z) 中被引用,还有整整15个之多,废话不多说,贴图证明:
这是也是花了我不少的时间,这是因为链接库没有导入,导致很多的符号未曾定义,解决办法有两个:
1、代码法:
在代码开头加入如下三行代码即可:
#pragma comment( lib, "glaux.lib" ) #pragma comment( lib, "glu32.lib" ) #pragma comment( lib, "OpenGL32.lib" )
至于以上三个链接库在不在C:\Program Files\Microsoft Visual Studio 9.0\VC\lib目录下面,倒是没有影响(我的Microsoft Visual Studio 2008 安装在C盘)
2、配置法:
选择”项目”菜单–>最后的”属性”->”配置属性”->”链接器”->”输入”->在“附加依赖项”里增加opengl32.lib,glu32.lib,glaux.lib(注意在增加进行输入的时候,每行一个)截图如下:
采用以上的任何一种方法,进行设置,都能解决与我类似的问题!编译将能顺利通过。
注意:本人的环境为Windows 7下的Microsoft Visual Studio 2008
==========================================================================
号外:在网络上看到另外一篇文章,也是error 2019错误的,其遇到的错误为:
-
1>GEARS.obj
: error LNK2019: 无法解析的外部符号 ___glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 -
1>GEARS.obj
: error LNK2019: 无法解析的外部符号 ___glutCreateWindowWithExit @8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用
解决的办法为:在#include
出现这个问题的原因是:glut.h的注释竟然就写着如下内容:
也就是说