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

AI助手已提取文章相关产品:
  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源文件清除,重新编译,问题解决。

参考链接:
参考链接

您可能感兴趣的与本文相关内容

..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_SoftwareStartConv multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol __asm___15_stm32f4xx_adc_c_e11a2ea2____REV16 multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol __asm___15_stm32f4xx_adc_c_e11a2ea2____REVSH multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_DeInit multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_Init multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_StructInit multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_CommonInit multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_CommonStructInit multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_Cmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_AnalogWatchdogCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_AnalogWatchdogThresholdsConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_AnalogWatchdogSingleChannelConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_TempSensorVrefintCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_VBATCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_RegularChannelConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_GetSoftwareStartConvStatus multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_EOCOnEachRegularChannelCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_ContinuousModeCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_DiscModeChannelCountConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_DiscModeCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_GetConversionValue multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_GetMultiModeConversionValue multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_DMACmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_DMARequestAfterLastTransferCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_MultiModeDMARequestAfterLastTransferCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_InjectedChannelConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_InjectedSequencerLengthConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_SetInjectedOffset multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_ExternalTrigInjectedConvConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_ExternalTrigInjectedConvEdgeConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_SoftwareStartInjectedConv multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_GetSoftwareStartInjectedConvCmdStatus multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_AutoInjectedConvCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_InjectedDiscModeCmd multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_GetInjectedConversionValue multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_ITConfig multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_GetFlagStatus multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_ClearFlag multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_GetITStatus multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). ..\OBJ\ADC.axf: Error: L6200E: Symbol ADC_ClearITPendingBit multiply defined (by stm32f4xx_adc_2.o and stm32f4xx_adc.o). Not enough information to list image symbols. Not enough information to list the image map.
最新发布
10-30
*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' Build target 'APP' compiling main.c... linking... APP\APP.axf: Error: L6200E: Symbol rx_buf multiply defined (by usart.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_buf multiply defined (by stm32f1xx_it.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_buf multiply defined (by logic.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_buf multiply defined (by periph.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_buf multiply defined (by schedule.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_buf multiply defined (by system.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_byte multiply defined (by usart.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_byte multiply defined (by stm32f1xx_it.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_byte multiply defined (by logic.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_byte multiply defined (by periph.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_byte multiply defined (by schedule.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_byte multiply defined (by system.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_flag multiply defined (by usart.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_flag multiply defined (by stm32f1xx_it.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_flag multiply defined (by logic.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_flag multiply defined (by periph.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_flag multiply defined (by schedule.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_flag multiply defined (by system.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_count multiply defined (by usart.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_count multiply defined (by stm32f1xx_it.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_count multiply defined (by logic.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_count multiply defined (by periph.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_count multiply defined (by schedule.o and main.o). APP\APP.axf: Error: L6200E: Symbol timeout_count multiply defined (by system.o and main.o). APP\APP.axf: Error: L6200E: Symbol uart_rx_complete multiply defined (by usart.o and main.o). APP\APP.axf: Error: L6200E: Symbol uart_rx_complete multiply defined (by stm32f1xx_it.o and main.o). APP\APP.axf: Error: L6200E: Symbol uart_rx_complete multiply defined (by logic.o and main.o). APP\APP.axf: Error: L6200E: Symbol uart_rx_complete multiply defined (by periph.o and main.o). APP\APP.axf: Error: L6200E: Symbol uart_rx_complete multiply defined (by schedule.o and main.o). APP\APP.axf: Error: L6200E: Symbol uart_rx_complete multiply defined (by system.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_index multiply defined (by usart.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_index multiply defined (by stm32f1xx_it.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_index multiply defined (by logic.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_index multiply defined (by periph.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_index multiply defined (by schedule.o and main.o). APP\APP.axf: Error: L6200E: Symbol rx_index multiply defined (by system.o and main.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 36 error messages. "APP\APP.axf" - 36 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:04
07-22
Build started: Project: Fire_Alarm *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\迅雷下载\keil ruanj\ARM\ARMCC\Bin' Build target 'Target 1' compiling i2c.c... compiling i2c_lcd.c... compiling main.c... .\Inc\adc.h(8): warning: #2816-D: static function "MX_ADC1_Init" treated as extern because it was referenced but not defined void MX_ADC1_Init(void); .\Inc\usart.h(8): warning: #2816-D: static function "MX_USART1_UART_Init" treated as extern because it was referenced but not defined void MX_USART1_UART_Init(void); User\main.c(20): warning: #2816-D: static function "MX_GPIO_Init" treated as extern because it was referenced but not defined static void MX_GPIO_Init(void); User\main.c(21): warning: #2816-D: static function "MX_I2C1_Init" treated as extern because it was referenced but not defined static void MX_I2C1_Init(void); User\main.c: 4 warnings, 0 errors linking... .\Objects\Fire_Alarm.axf: Error: L6200E: Symbol hi2c1 multiply defined (by i2c_lcd.o and i2c.o). .\Objects\Fire_Alarm.axf: Error: L6200E: Symbol hi2c1 multiply defined (by main.o and i2c.o). .\Objects\Fire_Alarm.axf: Error: L6200E: Symbol hadc1 multiply defined (by main.o and adc.o). .\Objects\Fire_Alarm.axf: Error: L6200E: Symbol huart1 multiply defined (by usart.o and main.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 4 error messages. ".\Objects\Fire_Alarm.axf" - 4 Error(s), 4 Warning(s). Target not created. Build Time Elapsed: 00:00:02
08-25
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值