|
楼主 |
发表于 2008-11-1 07:15:53
|
显示全部楼层
谢谢楼上的回复!果然是一些额外工具的导致的问题。
现在我再次仔细看了一下细节,发现需要glibc库文件支持的是u-boot/tools之中的可执行文件,也就是说,这个可执行文件应该是用我的系统中的gcc编译,并依赖当前系统中安装的c运行库的本地代码,跟u-boot无关才对。出错的原因显而易见,MinGW用的是自己的c运行库,系统中根本没有glibc嘛。看来我没法在windows系统中编译这些工具了,除非想办法把源代码向MinGW移植,但现在没时间,我还是老老实实地到虚拟机里去编译的好。
我想u-boot自身的编译应该是不用额外的库或头文件支持才是,无奈我make中上一步出错,还到不了编译u-boot的那一步。稍后我得验证一下。
这两天愁于这个问题四处瞎转,终于看到LinuxSir上的大牛youbest写的《clfs2.0原理分析》,茅塞顿开的同时也感慨,从一个看起来很小的问题,竟然扯出来这么复杂的一大套东东,呵呵。
btw:另外我也支持楼上的观点,内核的编译应该是不依赖什么额外的库或头文件的吧。虽然我还没有实际验证过,但想来如此。
我自己的两个问题,现在按照我自己的理解大致解释两句,不对的话请指正。
1. 首先,linux内核的编译应该不依赖于其他库。我们应该可以通过使用特定的参数,编译得到内核头文件。
2. glibc的工作是需要内核的支持的,所以编译glibc的时候需要用到特定版本的内核头文件,由上一步可以得到。(我想是不是直接从内核源码里拷贝出来也可以,呵呵。) |
|