您的位置:首页 > 其它

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

2015-03-03 23:09 831 查看
原文转自:http://blog.csdn.net/hudaweikevin/article/details/4003353

申明全局变量,全局函数一定要在cpp中申明

其他类引用该全局变量就include该cpp的h文件

然后extern一下就好了

否则容易出现该重复定义错误

这个"容易"是如何解释的呢?

例如A.h中如果申明了全局变量int Global;

在B.h中include "A.h"

extern int Global;

则你include A.h相当于把A.h中全局变量的申明也include进来了,编译器就会认为是重复定义

所以全局变量和函数申明一定要在cpp中

当.h文件里有函数实现时

VS2005编译器报此错误,

解决方法

1.在.h里的函数声明前加 inline

2.在项目->属性->链接器->命令行->附加选项中加 /force

a.h,里面只是类的申明。

2

a.cpp,里面是类的实现 ,包括成员函数,构造函数等。

3

b.cpp,里面是程序实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐