解决方法KEIL 5编译中常见基础错误及警告的解决办法
问题1
.\Objects\wifiqxz.axf: Error: L6200E: Symbol __ARM_use_no_argv multiply defined
//解决办法
//多重定义。其他.C文件包含 int main(){},删除即可
.\Objects\stm32.axf: Error: L6200E: Symbol Delay_ms multiply defined (by delay.o and main.o).
//delay.c和main.c文件,多次定义同一个函数。删除两者中一个即可!
问题2
.\Objects\wifiqxz.axf: Error: L6218E: Undefined symbol key_scan (referred from main.o).
.\Objects\wifiqxz.axf: Error: L6218E: Undefined symbol key_config (referred from main.o).
//解决办法
//“品”字未添加相关.C文件。双击project中相关文件夹添加或品字添加
问题3
.\Objects\project.sct(7): error: L6235E: More than one section matches selector – cannot all be FIRST/LAST.
//解决办法
//startup启动文件夹包含多个启动文件!根据芯片选择相应启动文件(ZET6用:hd.s)
问题4
STM32报错Error: L6218E: Undefined symbol assert_param (referred from misc.o).
//解决办法
在魔法棒C/C++中,Define.添加如下语句
STM32F10X,USE_STDPERIPH_DRIVER
问题5
…\user\API\dht11.c(72): error: #18: expected a “)”
//有可能在宏定义时,多加了“;”
宏定义不能加“;”
问题6
…\user\API\ESP8266.c(143): warning: #223-D: function “Delay_ms” declared implicitly
//问题 提示:隐式声明
//解决 检查相关定义的函数是否包含在相应头文件中
问题7
…\user\main.c(50): warning: #177-D: variable “rxbuff” was declared but never referenced
//解决办法 翻译:警告:#177-D:变量“rxbuff”被声明但从未被引用。屏蔽掉相应代码段即可
问题8
..\LVGL_APP\font\font_icon_model_16.c(756): error: #144: a value of type "const uint16_t *" cannot be used to initialize an entity of type "uint16_t *"
.unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 12, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY**
//问题翻译:“const uint16_t *” 类型的值不能用于初始化 “uint16_t *” 类型的实体
//解决办法:用强制转换解决!.unicode_list =(uint16_t *)uincode_list_3
小白上路,欢迎指教!