900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C/C++ 编译的时候报错“LNK: 无法解析的外部符号:xxx 该符号在xxx中被引用”

C/C++ 编译的时候报错“LNK: 无法解析的外部符号:xxx 该符号在xxx中被引用”

时间:2022-07-24 16:30:51

相关推荐

C/C++ 编译的时候报错“LNK: 无法解析的外部符号:xxx 该符号在xxx中被引用”

当出现编译的时候报错“LNK: 无法解析的外部符号:xxx,该符号在xxx中被引用”的时候 。

分析原因:

出现这个LNK错误是链接错误,因为c/c++程序需要经过:预处理 --> 编译 --> 链接 -->汇编 。

编译:对程序按照语言特性进行词法、语法、语义分析,错误检查无误后生成汇编代码。注意头文件不参与编译,编译器对工程中的多个源文件是分离开单独编译的

链接:将多个obj文件合并成一个,并处理没有解决的地址问题。

所以方法没有实例化,在链接的时候会出现找不到地址,所以会报错

可能原因

所以经常如果只在.h文件中声明了某个方法,没有在cpp中实现会出现这个问题。注意通过报错查看文件是否加到了项目中(有时候可能忘记将库文件加到项目中),并且查看错误的地方代码(查看该报错的函数是不是只在.h中声明,但是没有在.cpp中实例化)文件同名,工程中有相同名字的文件或者类dll文件未添加,将.dll放到生成的.exe所在的文件夹下(项目->属性->配置属性->常规->输出目录,可以看到.exe生成在哪个目录下)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。