问题点:
/include/limits.h:38:26: fatal error: linux/limits.h: 没有那个文件或目录
明显找不到头文件
根据网上的提示建立一个软链接linux到内核源码树的目录
然后make
各种问题依旧
后来只要找不到的文件就用软链接在内核的头文件目录里 链接过去
折腾了几十个文件,最终成功(发费时间2天)
这个过程,需要在内核的头文件目录中建立软链接
还需修改signal.h,就是内核原来的不能用,只能用uapi目录的
当需要这个文件时,先备份signal.h(重命名),然后软链接到 uapi目录中的signal.h
这个过程中,还会有警告:用户态程序使用内核态的头文件
总之,过程曲折,但是编译出来,是可以用的
改进点:
klibc属于用户态的程序,不应该到内核头文件中去找
in /klibc-2.0.6#
ln -s /usr/include/linux/ linux
在klibc的 ./usr/include 目录下建立下面3个软链接
lrwxrwxrwx 1 root root 25 12月 27 11:29 ./asm-generic -> /usr/include/asm-generic/
lrwxrwxrwx 1 root root 34 12月 27 11:28 ./asm -> /usr/include/x86_64-linux-gnu/asm/
lrwxrwxrwx 1 root root 19 12月 27 11:27 ./linux -> /usr/include/linux/
注意,这些头文件都是/usr 目录
编译,直接ok,花费时间10分钟
前期的折腾是必要的!!!