本帖最后由 zzbv587 于 2022-12-4 20:16 编辑
问题:按照教程修改Makefile文件CC = arm-linux-gnueabihf-gcc,然后执行make出现下图提示错误:
解决方法:
1、执行配置命令
./configure
执行完上述命令后会自动生成一个Config文件(高版本的iproute2自动生成的文件名为config.mk),但是注意此时还不能支持交叉编译,要修改自动生成的Config文件。
Config文件修改如下:
将AR:=ar 改成AR:=arm-linux-gnueabihf-ar 将CC:=gcc改成CC:=arm-linux-gnueabihf-gcc
2、修改Makefile文件
1)修改编译器 将CC := gcc 改为CC:=arm-linux-gnueabihf-gcc
2)我们只需要生成的ip可执行程序,生成其他的会报错 将SUBDIRS=lib ip tc bridge misc netem genl tipc man 改成 SUBDIRS=lib ip
3、执行make命令,进行编译 make
4、编译成功后,进入iproute2-4.4.0/ip/目录,查看ip文件类型 file ip 出现下图所示:ip文件类型为arm的可执行文件,表示交叉编译成功
5、将ip拷贝到到开发板中测试(这里和教程一样) sudo cp ip /home/zb/linux/nfs/rootfs/lib/modules/4.1.15/ -rf 执行一下新的 ip 命令,查看一下版本号,命令如下
cd lib/modules/4.1.15/ ./ip -V //执行新的 ip命令,查看版本号
出现下图所示表示大功告成
在开发板根文件系统中用新的ip可执行程序替换原来ip
cd lib/fmodules/4.1.15/cp ip /sbin/ip -f
查看 ip命令版本号
ip -V
|