为什么明明头文件中有此符号定义,编译时却显示找不到?

2019-12-25 18:48发布

嗯,那个, 我用keil5.1,arm gcc编译器 mirco-lib进行了勾选

然后编译的时候显示a.c文件编译后的a.o文件里引用的符号,姑且叫FOO吧,不存在。这
个东西其实是个结构体的。

然后我就下意识的去.c文件找了。

结果奇葩的是,这个对应的.c文件里根本没有用到这个符号FOO……呃,,

然后我在搜索工具里面搜索整个工程,发现FOO在多处被引用,其中一处在
a.c的包含的头文件bc.h里面。

然后我就打开bc.h,发现里面对FOO的原型进行了定义,形式如下:

  1. typedef   struct      
  2.     {   
  3.         ...
  4.     } FOO_t
复制代码
然后后面有一处是

  1.         FOO_t FOO;
复制代码

其它还有好几处引用……但是都看不出什么问题、、、

就是这样……照道理来说,应当没有任何问题的,但是只要一
编译,就显示a.o里面引用的符号FOO找不到。

这个……我觉得好无语……大家能不能想到可能的原因?我总结罗列下一个个去试,排除法,,

最后弱弱问下,我好久没来,大家想我了没有呼呼^_^
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
takashiki
1楼-- · 2019-12-28 09:31
 精彩回答 2  元偷偷看……
不舍的六年
2楼-- · 2019-12-28 11:13

原来习学发开还在,好久没见发帖了。
楼下帮忙解决问题。
jackee
3楼-- · 2019-12-28 12:28
如果过不是坛红习学开发估计用“嗯,那个”做开头会被喷死的
flyfox8
4楼-- · 2019-12-28 14:46
好久不见,玛莎拉蒂妹子!我是来混个脸熟的,以便日后借钱。
god-father
5楼-- · 2019-12-28 20:44
本帖最后由 god-father 于 2017-8-21 00:13 编辑
flyfox8 发表于 2017-8-20 22:52
好久不见,玛莎拉蒂妹子!我是来混个脸熟的,以便日后借钱。


日 后借钱?
zouzhichao
6楼-- · 2019-12-28 21:29
 精彩回答 2  元偷偷看……

一周热门 更多>