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,里面是程序实现。
申明全局变量,全局函数一定要在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,里面是程序实现。
相关文章推荐
- fatal error LNK1169: 找到一个或多个多重定义的符号
- fatal error LNK1169: 找到一个或多个多重定义的符号
- “error LNK1169: 找到一个或多个多重定义的符号”的解决方法(转载)
- 在静态库中使用MFC导致库冲突,找到一个或多个多重定义的符号
- error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- fatal error LNK1169: 找到一个或多个多重定义的符号
- 问题:fatal error LNK1169: 找到一个或多个多重定义的符号
- fatal error LNK1169: 找到一个或多个多重定义的符号[转]
- error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义 找到一个或多个多重定义的符号
- error LNK2005:xxx已在xxx.obj中定义fatal error LNK1169: 找到一个或多个多重定义的符号
- fatal error LNK1169: 找到一个或多个多重定义的符号.
- “error LNK1169: 找到一个或多个多重定义的符号”的解决方法(转载)
- fatal error LNK1169: 找到一个或多个多重定义的符号
- fatal error LNK1169: 找到一个或多个多重定义的符号
- “error LNK1169: 找到一个或多个多重定义的符号”的解决方法(转载)
- fatal error LNK1169: 找到一个或多个多重定义的符号
- xxx.dll: fatal error LNK1169:找到一个或多个重定义的符号
- “error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- 找到一个或多个多重定义的符号”产生的原因
- fatal error LNK1169: 找到一个或多个多重定义的符号[转]