最近,我尝试按照" Pro Linux Embbeded Systems"中提供的步骤,为MIPS架构构建busybox。书。事先,我已成功安装和配置了crosstool-ng以使用MIPS。
在busybox中,我为x-tools目录中的一个(从crosstool-ng生成)设置了CROSS_COMPILER前缀。
但是,运行make命令时,会出现以下消息:
applets/applets.c:1:0: warning: cannot use small-data accesses for '-mabicalls'
/* vi: set sw=4 ts=4: */
^
In file included from include/libbb.h:13:0,
from include/busybox.h:10,
from applets/applets.c:11:
include/platform.h:120:23: fatal error: byteswap.h: No such file or directory
# include <byteswap.h>
^
compilation terminated.
make[1]: *** [applets/applets.o] Error 1
make: *** [applets] Error 2
从这个意义上讲,我问:如何解决丢失标题的问题?我是否必须从/ usr / include复制,或者从glibc源代码或类似内容中删除它?
答案 0 :(得分:0)
您的交叉编译器应该附带MIPS版本的头文件。应该有include
和usr/include
目录,其中包含MIPS版本byteswap.h
等文件。您可能需要为gcc指定--sysroot
参数,以告诉它目标头文件的位置。
不要从主机系统复制标头,这会导致细微的错误。