KEIL函数编译出现的“错误”和“警告”内容冲突

2019-10-15 04:38发布

错误:
..Bspsp.h(9): error:  #114: function "Systick_init" was referenced but not defined
警告:
..Bspdelaydelay.c(5): warning:  #177-D: function "Systick_init" was declared but never referenced

错误说我引用但没定义,但警告说我定义却没引用,都是说同一条函数啊,坑爹,keil都知道我定义了,还说我错

什么问题啊?

重启电脑也没解决,望各位指教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
shihantu
1楼-- · 2019-10-15 10:34
回复【6楼】口天土立口:
---------------------------------
static声明是作用域外不可以引用的.外部引用找不到了会error.
作用域内没有被引用,会warning.


回复【7楼】敌害:
---------------------------------
读出来正确就说明不是编译器问题,这个问题有两种可能,一个是栈变量前面有长度不确定的变量,一个是生成的axf有问题,但这不是编译器的事,可能是链接器的问题,可能是仿真工具有问题.
飞过漠北的蓝天
2楼-- · 2019-10-15 13:04
口天土立口 发表于 2014-1-3 11:48
回复【4楼】shihantu:
---------------------------------
为什么是去掉static就没报错?这个搞不懂!

在C语言里面,没有重载一说,如果两个地方出现同名函数,会冲突,一个开发团队的人,可以搞一个项目时,会遇到这样,为了防止别人和自己都用同一个名称,所以用static将自己写的函数名限制在自己的那个文档里面
正点原子
3楼-- · 2019-10-15 18:22
在bsp.h里面的Systick_init前加多一个extern关键字看看吧.
口天土立口
4楼-- · 2019-10-15 23:50
 精彩回答 2  元偷偷看……
shihantu
5楼-- · 2019-10-16 05:08
如果实体使用了static关键字,就可以实现这个报错.
口天土立口
6楼-- · 2019-10-16 11:05
回复【4楼】shihantu:
---------------------------------
听你说的,我把static去掉就没报错了!谢谢!

一周热门 更多>