一、为什么需要交叉编译,交叉编译做什么
1、目的平台资源匮乏,不容许或者不能安装所需的编译器,如C51
2、树莓派是不是不需要?有时候也需要,有时平台还没有建立,没有操作系统,
平台运行至少需要两样:bootloader(启动引导代码)和操作系统核心
宿主机(host):编辑和编译程序的平台,一般是基于X86的PC机
目标机(target):用户开发的系统,
3、交叉编译做什么?
在A平台编译程序生成B平台可执行的文件
二、交叉编译需要的交叉编译工具链
1、下载地址(根据自己开发板型号选择):索引 /armbian-releases/_toolchain/ |清华大学开源软件镜像站 |清华开源镜像 (tsinghua.edu.cn)
2、将下载后的交叉工具链传到虚拟机上面
3、解压
4、进入解压后的文件夹下的bin中
5、设置环境变量:
临时有效(即在当前命令行窗口):
①查看当前环境变量:echo $PATH
输出一堆路径A
②查看当前bin路径:pwd
输出一个路径(即交叉编译工具链的bin)
③将②的路径B加入PATH:export PATH = A+B(不写+号)
永久有效:
修改工作目录下的.bashrc(配置命令终端)
进入这个文件,在后面加入临时有效步骤③的输入部分,即export PATH = 一堆路径
保存退出
生效文件:source ./bashrc