本文会创建一个最小的工程,看看哪些文件是必须的。
只使用库文件中的启动文件'startup_stm32f10x_hd.s'编译报错如下。
Rebuild target 'Target 1'
assembling startup_stm32f10x_hd.s...
linking...
.\Objects\Test.axf: Warning: L6665W: Neither Lib$$Request$$armlib Lib$$Request$$cpplib defined, not searching ARM libraries.
.\Objects\Test.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __main.解决方法:添加main.c文件编译,但这个和报错内容的关联并不清楚。
继续编译,报错如下。
Rebuild target 'Target 1'
assembling startup_stm32f10x_hd.s...
compiling main.c...
linking...
.\Objects\Test.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o).解决方法:增加库中‘system_stm32f10x.c’,SystemInit的定义在这个文件中。