Clion使用paltformIO时遇到的bug
在学习的过程中,为了保持优雅(狗头,主要觉得keli界面实在不好看),想用clion移植正点原子的代码(vscode实现教程),按着教程来做时,兴致勃勃的看看成功的结果,顺便叫舍友学一下怎么优雅的时候,最终出现了bug,详情如下:
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103ZE.html
PLATFORM: ST STM32 (8.1.0) > STM32F103ZE (64k RAM. 512k Flash)
HARDWARE: STM32F103ZET6 72MHz, 64KB RAM, 512KB Flash
DEBUG: Current (jlink) External (blackmagic, jlink, stlink)
PACKAGES:
- framework-cmsis 2.50501.200527 (5.5.1)
- framework-cmsis-stm32f1 4.3.1
- tool-ldscripts-ststm32 0.1.0
- toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 0 compatible libraries
Scanning dependencies...
No dependencies
Building in debug mode
Compiling .pio/build/genericSTM32F103ZE/FrameworkCMSIS/gcc/startup_stm32f103xe.o
Compiling .pio/build/genericSTM32F103ZE/FrameworkCMSIS/system_stm32f1xx.o
Compiling .pio/build/genericSTM32F103ZE/src/CORE/core_cm3.o
Compiling .pio/build/genericSTM32F103ZE/src/HARDWARE/LED/led.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/misc.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_adc.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_bkp.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_can.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_cec.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_crc.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_dac.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_dbgmcu.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_dma.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_exti.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_flash.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_fsmc.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_gpio.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_i2c.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_iwdg.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_pwr.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_rcc.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_rtc.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_sdio.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_spi.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_tim.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_usart.o
Compiling .pio/build/genericSTM32F103ZE/src/STM32F10x_FWLib/src/stm32f10x_wwdg.o
Compiling .pio/build/genericSTM32F103ZE/src/SYSTEM/delay/delay.o
Compiling .pio/build/genericSTM32F103ZE/src/SYSTEM/sys/sys.o
Compiling .pio/build/genericSTM32F103ZE/src/SYSTEM/usart/usart.o
Compiling .pio/build/genericSTM32F103ZE/src/main.o
Compiling .pio/build/genericSTM32F103ZE/src/stm32f10x_it.o
Compiling .pio/build/genericSTM32F103ZE/src/system_stm32f10x.o
src/SYSTEM/usart/usart.c:38:0: warning: ignoring #pragma import [-Wunknown-pragmas]
#pragma import(__use_no_semihosting)
Linking .pio/build/genericSTM32F103ZE/firmware.elf
.pio/build/genericSTM32F103ZE/src/system_stm32f10x.o: In function `SystemInit':
/media/XXX/LINUX2/CLionProjects/untitled2/src/system_stm32f10x.c:213: multiple definition of `SystemInit'
.pio/build/genericSTM32F103ZE/FrameworkCMSIS/system_stm32f1xx.o:/home/XXX/.platformio/packages/framework-cmsis-stm32f1/Source/Templates/system_stm32f1xx.c:161: first defined here
.pio/build/genericSTM32F103ZE/src/system_stm32f10x.o: In function `SystemCoreClockUpdate':
/media/XXX/LINUX2/CLionProjects/untitled2/src/system_stm32f10x.c:319: multiple definition of `SystemCoreClockUpdate'
.pio/build/genericSTM32F103ZE/FrameworkCMSIS/system_stm32f1xx.o:/home/XXX/.platformio/packages/framework-cmsis-stm32f1/Source/Templates/system_stm32f1xx.c:260: first defined here
.pio/build/genericSTM32F103ZE/src/system_stm32f10x.o:/media/XXX/LINUX2/CLionProjects/untitled2/src/system_stm32f10x.c:167: multiple definition of `AHBPrescTable'
.pio/build/genericSTM32F103ZE/FrameworkCMSIS/system_stm32f1xx.o:(.rodata.AHBPrescTable+0x0): first defined here
.pio/build/genericSTM32F103ZE/src/system_stm32f10x.o:(.data.SystemCoreClock+0x0): multiple definition of `SystemCoreClock'
.pio/build/genericSTM32F103ZE/FrameworkCMSIS/system_stm32f1xx.o:(.data.SystemCoreClock+0x0): first defined here
# 不知道错了什么
collect2: error: ld returned 1 exit status
*** [.pio/build/genericSTM32F103ZE/firmware.elf] Error 1
[FAILED] Took 2.61 seconds
make[3]: *** [CMakeFiles/Debug.dir/build.make:77:CMakeFiles/Debug] 错误 1
make[2]: *** [CMakeFiles/Makefile2:127:CMakeFiles/Debug.dir/all] 错误 2
make[1]: *** [CMakeFiles/Makefile2:134:CMakeFiles/Debug.dir/rule] 错误 2
make: *** [Makefile:151:Debug] 错误 2
问题所在:/media/XXX/LINUX2/CLionProjects/untitled2/src/system_stm32f10x.c,把这个文件删了,就不会重定义了。