C++ VS2010 error:LNK2005 已经在*.obj中定义
C++ VS2010 error:LNK2005 已经在*.obj中定义
吃一堑消化不良 发表于2年前
C++ VS2010 error:LNK2005 已经在*.obj中定义
  • 发表于 2年前
  • 阅读 1543
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

【问题】


>> : error LNK2005: ×××× (★★★★) 已经在 ※※※.obj 中定义

fatal error LNK1169: 找到一个或多个多重定义的符号


【可能的原因】


当第一个使用该头文件的.cpp文件生成.obj的时,int i 已经定义。当另外一个使用这个头文件的.cpp再次[单独]生成.obj的时候,int i 又被定义。然后两个obj被另外一个.cpp也include 这个头的,连接在一起,就会出现重复定义.



【解决】

通常是由于在.h文件里定义了此变量,移动到.cpp文件里即可,并在使用到这个变量的cpp文件中加上extern int ID。

共有 人打赏支持
粉丝 27
博文 187
码字总数 112458
×
吃一堑消化不良
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: