您的位置:首页 > 其它

找到一个或多个多重定义的符号

2018-02-12 09:41 369 查看
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1169 找到一个或多个多重定义的符号 hik_test
原因:结构体定义在头文件,如果定义在cpp文件,这个异常就没有了
struct BufData
{
int size;
char sendbuf[1500];

}data_send;

下面是网上给的方法:
申明全局变量,全局函数一定要在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  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: