winglion 发表于 2005-12-28 14:23:02

请教关于头文件的定位的问题。

我真在作ucos移植到2410上,但是照ucosii4skyeye的目录编排做好了,config和dep都过关了,到最后一步make时却报出所有的ucos函数都是undefine reference,好像includes.h,没有生效一样!
在make dep时所有的头文件都要自己定位的,比如我的task文件要包含include.h就只好写成include "../../kernel/ucos/includes.h"
但奇怪为什么ucosii4skyeye的例子中不需要这样写,比如at91的文件中include skeyeye_stdio.h就不需要指定目录。我不理解make是这么找到这个头文件的。
为什么我自己写的就不行!
另外我发现 makefile中include的../dir.make的ARCH_DIR变量是空的,但其他的变量则很好,我比对过不是写错字啊,只好在simple_test中的makefile又定义一次这个变量。

ksh 发表于 2005-12-29 09:59:17

1. "undefined reference "often means there is some lost library or object files that have been linked in your compilation.
2. Since all the makefile will include "rules.make" . And rules.make will indicate some absolute directory of required header files.So you do not care the location of header files.

winglion 发表于 2005-12-31 16:33:56

THANKS,是我看了SIMPLE_TEST的MAKEFILE搞错了,编译不了UCOS!后来解决了,
但编译通过后发现中断起不来。调试发现寄存器写不进去,请看我新发的帖子
页: [1]
查看完整版本: 请教关于头文件的定位的问题。