keil编译通过链接错误解决
时间:09-22 09:55 阅读:3408次
*温馨提示:点击图片可以放大观看高清大图
简介:本文介绍了使用keilMDK编写STM32程序时,编译能通过而链接错误的问题以及解决方法。
用keilMDK试了一个STM32F107的例子,打开后编译链接,结果编译通过,链接却提示有5个函数没有声明,但是回头再看文件,明明有引用头文件啊,为什么还不过呢?
我又试了使用extern声明还是不行。
链接的问题一直比较头疼,找到的解决方法是:
.\Obj\STM3210C-EVAL.axf: Error: L6218E: Undefined symbol LCD_ClearLine (referred from app.o).
.\Obj\STM3210C-EVAL.axf: Error: L6218E: Undefined symbol LCD_DisplayChar (referred from app.o).
.\Obj\STM3210C-EVAL.axf: Error: L6218E: Undefined symbol LCD_DisplayStringLine (referred from app.o).
.\Obj\STM3210C-EVAL.axf: Error: L6218E: Undefined symbol STM_EVAL_LEDToggle (referred from app.o).
.\Obj\STM3210C-EVAL.axf: Error: L6218E: Undefined symbol LCD_Clear (referred from bsp.o).
找到该函数所在的文件,然后在keil左侧的项目管理中鼠标右键单击该文件并选择“Options for File "xxx.c"”,然后在对话框中勾选“includein target build”,要让其对勾变为黑色,默认是灰色。
然后再编译即可