参考以下博客可以解决此问题

https://blog.csdn.net/hudaweikevin/article/details/4003353

---------------------------------------------------------------------------------

我出现这个问题的原因是

有多个.c文件(移除,留下一个就可以了!

 

---------------------------------------------------------------------------------

申明全局变量,全局函数一定要在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  

也有的写的是 /force:multiple

如(https://blog.csdn.net/wangfei8348/article/details/51324158)

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

相关文章:

  • 2021-05-24
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
  • 2021-09-05
  • 2021-09-02
猜你喜欢
  • 2021-06-19
  • 2022-01-01
  • 2022-12-23
相关资源
相似解决方案