|
楼主 |
发表于 2008-4-18 13:46:20
|
显示全部楼层
Post by 1987a;1839601
用sed也很简单的,可以在ccheaders这行下附加一行
sed -e '/ccheaders.../a
ccheadersfixed=...' ...。
glibc 需要 内核头文件 和 系统头文件 来提供 平台相关支持,自足体现在glibc仅用一个gcc裸编译器就可以完成编译。
为什么glibc仅用gcc编译器就够了呢?因为glibc不相信任何默认的头文件。那些头文件可能属于以前的glibc版本,甚至是来自uclibc或者其它系统的。所以,它必须了解每一个头文件的位置。比如说,内核头文件是通过一个选项来告知glibc配置脚本的,gcc头文件是直接询问gcc而检测到的,等等。因此,即使gcc已经把所有的头文件搜索路径正确设定了,glibc还是只能通过那个脚本来了解gcc头文件的所在。这样当某个头文件被移动了,原先的脚本就不能检测新的头文件位置。
对此,你可以在编译的过程中临时中断,观察编译所用的命令。你可以看到,glibc的确是用了一个参数来关闭gcc头文件默认路径的。具体什么参数,我这里就不说了。 |
|