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

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

  • 出现这个LNK错误是链接错误,因为c/c++程序需要经过:预处理 --> 编译 --> 链接 -->汇编 。
    编译:对程序按照语言特性进行词法、语法、语义分析,错误检查无误后生成汇编代码。注意头文件不参与编译,编译器对工程中的多个源文件是分离开单独编译的
    链接:将多个obj文件合并成一个,并处理没有解决的地址问题。

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

可能原因

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UPC YR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值