1. 配置交叉编译环境
首先说一下什么是交叉编译:我们在 ubuntu 中写了一个程序,比如 main.c,然后使用 ubuntu 的编译器进行编译,生成的可执行文件自然可以在 ubuntu 中运行。但是生成的可执行文件可以在我们的开发板中能运行吗?答案当然是否定的,原因很简单,就是平台不同,芯片架构不同。那我们如何使得 ubuntu 编译出来的可执行文件在开发板上面运行呢,当然就要借助一些工具了,通过一些工具进行对程序编译,生成在开发板上可以运行的文件,那这些工具我们把它叫做交叉编译工具,把这种从一个平台开发另一个平台应用的方式称为交叉编译。
Toolchain 即交叉编译工具,要在 ubuntu 编译我们写的应用程序使得生成开发板可以执行的文件,必须有这一套工具才可以进行!
首先,配置OpenWrt 使得支持toolchain。在openwrt/目录下运行 make menuconfig,并且选中 toolchain:
保存退出之后,编译 OpenWrt: make V=99。编译完成之后,我们可以查看openwrt/bin/文件夹中有没有交叉编译工具:
可以看到,已经编译出了交叉编译工具。进到/openwrt/bin/targets/x86/generic/openwrt-toolchain-x86-generic_gcc-8.3.0_musl.