码迷,mamicode.com
首页 > 编程语言 > 详细

C++ error:LNK2005 已经在*.obj中定义

时间:2015-10-19 19:31:29      阅读:149      评论: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。

C++ error:LNK2005 已经在*.obj中定义

标签:

原文地址:http://my.oschina.net/shou1156226/blog/518999

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!