【琐琐碎碎小知识】Keil5编译时候出现 Error: L6200E: Symbol HAL_MspDeInit multiply defined事故处理

问题描述

出现的问题在底部打印出现的报错信息大致是这种的:
在这里插入图片描述
multiply defined大致可以翻译为重复定义

问题解决

① 找到自己将ST官方提供的HAL库中.c文件添加到Keil5中创建的项目的目录。
在这里插入图片描述

② 找到带_template.c为后缀的文件,删除它们
在这里插入图片描述
在Keil 中移除文件
在这里插入图片描述

③ 问题解决
在这里插入图片描述

产生问题的原因

以下内容均为自己分析(潜台词,可能是错误分析…)
首先下方其实打印出来了,出现错误的类型是重复定义,出现错误的文件的名字。
在这里插入图片描述
现在整个工程中,确实是找不到.o为后缀的文件,但是咱们自己添加到HAL库中,有同名的,按照.c作为后缀的文件。
在这里插入图片描述

然后看到这三个文件都带了template这个单词,以及这三个文件顶部写的简介
在这里插入图片描述

自己猜测的是,这三个带template的文件,是官方在测试的时候,自己编写的,里面又自己定义了一些函数,正是这些重新定义的函数,导致出现multiply defined的报错。

猜你喜欢

转载自blog.csdn.net/weixin_52621323/article/details/126439336
今日推荐