原创 keil 编译通过 链接错误 解决

2010-11-15 22:44 6589 12 15 分类: MCU/ 嵌入式

f789684a-c1a2-4cf2-b55a-c5a151b5d458.jpg今天试了一个STM32F107的例子,打开后编译链接,结果编译通过,链接却提示有5个函数没有声明,


但是回头再看文件,明明有引用头文件啊,,为什么还不过呢?


我又试了使用extern声明还是不行。


链接的问题一直比较头疼,于是只好在群里找大家帮助了,这次又是GLB帮了我,


他给的解决方案是根据提示


.\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"”,然后在对话框中勾选“include in target build”,要让其对勾变为黑色,默认是灰色。


然后再编译即可


 

文章评论3条评论)

登录后参与讨论

用户377235 2016-4-28 11:41

没用0.0

用户377235 2015-12-30 18:48

没有用啊

wxd123com_970479604 2013-10-31 11:37

这个问题也困扰了我很久,不错很好用
相关推荐阅读
用户244424 2014-08-28 02:05
[转自21IC]旁路电容、去耦电容和消振电容答疑
在三极管放大器中,以共发射极的多级放大器为例,信号从基极输入,在基极偏置电路和集电极负载的作用下,从集电极斩输出,以上是放大器的工作过程。 为何要在发射极加旁路电容呢? 这是因为发射极电阻...
用户244424 2012-11-02 14:19
C语言 头文件 相对路径 (有局限性)
使用当对路径 假如在当前文件夹下的ABC文件夹下: #include   ".\\ABC\\head.h " 假如在当前的上一级文件夹下的ABC文件夹: #include   "..\\ABC\\...
用户244424 2012-03-21 15:14
基本知识: 宏定义的作用范围
  假如在主文件 main.c 中定义 #define _count_buf_size_ 100 #define _Mesure_buf_max_ 15   那么到其他c文件...
用户244424 2011-08-22 23:15
Win7 虚拟机 NAT方式 共享上网
开始对虚拟机NAT方式一点不了解,半天搞不对虚拟机共享上网,网上查了很多教程,明明按着做了还是不对,连接不上,以为是 Visual Network Editor 里的网关设置不对,于是越试越糊涂,最后...
用户244424 2011-08-20 01:19
各种 位数据 倒序 函数
/****************************************//* 函数名称: SwapD7_D0 */ /* 函数功能: D7-D0位置交换 *//****...
用户244424 2011-03-01 15:09
IAR 开发STM32 ARM 版本不兼容 解决办法之一
对于V4 和V5不兼容的解决方法很多了,最近用V6 版开发,结果同事用V5.3版 ,我调通之后代码给他,结果他那边显示错误,配置资料失效了,查看是版本不同导致的懒得转换,但是没办法还是得转换,只好新建...
我要评论
3
12
关闭 站长推荐上一条 /2 下一条