keil5编译出现Symbol TIM2_IRQHandler multiply defined (by xxx.o and xxx.o)的解决办法

1、刚学使用keil5,在编译时出现了.\Objects\F407project.axf: Error: L6200E: Symbol TIM2_IRQHandler multiply defined (by rcs_timer.o and main.o)。意思是:对TIM2_IRQHandler进行了重定义。这意味着我们对TIM2_IRQHandler进行了多次的定义。
在这里插入图片描述

2、解决方法
在工具栏搜索TIM2_IRQHandler,查看在多少地方对其进行了定义。
在这里插入图片描述
在fing in file窗口我们可以看到出现的TIM2_IRQHandler地方,一个一个打开,发现后面三个是标准库自带的(大致这意思,反正就是不用管)。
在这里插入图片描述
第一和第二个都对TIM2_IRQHandler进行了定义:
第一个出现在main.c中:在这里插入图片描述
第二个出现在Rcs_Timer.c中:

在这里插入图片描述
我们只需将其中之一进行修改或者注释等即可。在此,我将Rcs_Timer.c的定义进行注释:
在这里插入图片描述
再来看看编译后的结果:没有错误了!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43516928/article/details/112795338
今日推荐