您的位置:首页 > 其它

编译busy box及其问题

2016-07-04 22:54 316 查看
遇到的问题:

        1、错误如下:

            miscutils/nandwrite.c: In function ‘nandwrite_main’:

            miscutils/nandwrite.c:151:3: error: ‘MTD_FILE_MODE_RAW’ undeclared (first use in this function)

            miscutils/nandwrite.c:151:3: note: each undeclared identifier is reported only once for each function it appears in

        解决:

            交叉编译器:arm-linux-gnueabihf-4.9-2014.09;

            根据/usr/include/mtd/mtd-abi.h的定义修改交叉编译器的arm-linux-gnueabihf-4.9-2014.09/arm-linux-gnueabihf/libc/usr/include/mtd/mtd-abi.h文件,添加对MTD_FILE_MODE_RAW的定义即可。

关于动态编译busybox:

        1、Busybox Settings ---> Build Options --->“ 关闭“Build BusyBox as a static binary

              打开”Build shared libbusybox“

              关闭”Produce a binary for each applet“与”Produce additional busybox binary“《不知道为什么要关闭这两项,可以试一下不关闭会怎样》

        2、busybox运行所需动态库!
              到交叉编译器目录复制到lib目录即可。注意的点:

              ①.在***libc/lib目录下;-----------此以arm-linux-gnueabihf为例

              ②.ld-linux*.so.*是默认需要的,使用*-readelf看不到的;

              ③.保持①中的***libc/lib目录不要变即可(不要去掉文件夹而把所有文件放到一个目录)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: