multiply defined

multiply defined

多重定义,就是一个变量被定义了两次,或者定义一次被编译器编译了两次。
如下图所示的,有多个被重复定义的。。。。。
遇见是真他娘的难受

在这里插入图片描述

在这里插入图片描述

解决办法

自己写变量定义时

这种问题一般是变量定义问题,解决办法
	1、变量定义在.c文件中。如果是结构体的话,结构体要在.h文件,结构体变量在.c文件中。
	2、在.h文件中进行extern声明
	3、其他文件include的时候只导入.h,不要include “*.c”

在这里插入图片描述

使用别人代码或者SDK时

这才是TM的痛苦的,有时候不知道改了哪里,突然蹦出来这种情况。
很大情况下是多次导入了某个头文件,看下图中圈出来的右边,在这些文件中
找找问题。

在这里插入图片描述

遇见过最恶心的情况

在进行项目使用的SDK从低版本生的稍微高点的时候,准备将新功能也添加进去。
但是出现了一个戏剧性:
	就是有个关键文件,在低版本和高版本中都起到关键作用,但是两个在其他版
	本冲突,TM的最后,直接将两个比对一下,将高版本部分替换到低版本中,TM的竟然好了。。。。。。。。。。。。。。。。。
	
	具体就是将nrfx的15版本sdk将某些文件抽出来的时候,好像是ble_glue.h文件在作怪

在这里插入图片描述

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值