VC 的 warning LNK4221 警告


  今天编译静态链接库时,VC提示了 LNK4221 警告。虽然没什么影响(起码暂时没遇到),也特别去查了下警告的由来。

  该警告的中文提示是:

 xxx.obj : warning LNK4221: 此对象文件未定义任何之前未定义的公共符号,因此任何耗用此库的链接操作都不会使用此文件。
   
  不得不说这个翻译真是非常的晦涩,令人费解。可能,面对如此繁多的提示,微软的翻译人员也偷懒了吧。我们还是来看看英文版的:

 warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library.
   
  嘛,很好懂:该对象文件未定义任何公共符号,所以其它库也不会使用这个对象文件。

  原因显而易见了,任何一个cpp文件,如果里面只写了声明,而没有定义部分,那么,其实这个cpp文件就是空的,也就没有任何公共符号(此处公共符号是连接器 Linker 中使用的符号)了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值