Error: L6200E: Symbol xxx multiply defined (by adc_1.o and adc.o)的解决办法

41 篇文章 1 订阅
40 篇文章 0 订阅
  1. 问题:
    Keil MDK-ARM V5的工程,使用HAL库搭建的。
    HAL库从STM32Cube FW_F1 V1.6.1升级到STM32Cube FW_F1 V1.7.0,
    重新编译工程后提示有102条错误,
    在这里插入图片描述
    而原来的工程是能正确运行的。
  2. 解决办法:
    错误信息提示如下:
linking...
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol SystemInit multiply defined (by system_stm32f1xx_1.o and system_stm32f1xx.o).
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol __asm___5_adc_c_7cc13d26____REV16 multiply defined (by adc_1.o and adc.o).
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol __asm___5_adc_c_7cc13d26____REVSH multiply defined (by adc_1.o and adc.o).
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol __asm___5_adc_c_7cc13d26____RRX multiply defined (by adc_1.o and adc.o).
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol hadc1 multiply defined (by adc_1.o and adc.o).
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol HAL_ADC_MspDeInit multiply defined (by adc_1.o and adc.o).
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol HAL_ADC_MspInit multiply defined (by adc_1.o and adc.o).
stm32_uart_mx\stm32_uart_mx.axf: Error: L6200E: Symbol MX_ADC1_Init multiply defined (by adc_1.o and adc.o).
...
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 102 error messages.
"stm32_uart_mx\stm32_uart_mx.axf" - 102 Error(s), 1 Warning(s).
Target not created.
Build Time Elapsed:  00:00:21

而工程中并无adc_1.c文件。
处理步骤:
1、先清空整个工程,然后Rebuild All target files,未能解决问题;
2、搜了一下网上,看到有跟我类似错误的,再查了一下自己工程中的c源文件,发现了某些c源文件被重复添加了,
Keil的HAL库升级导致c源文件重复添加
将多余的c源文件清除,重新编译,问题解决。

参考链接:
参考链接

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值