目录
一、概念 (交叉编译是什么,为什么要交叉编译)
交叉编译(Cross_Compile)
是指编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。比如,在Intel x86 架构/Linux(Ubuntu)平台下、使用交叉编译工具链生成的可执行文件,在ARM架构/Linux 下运行。 例如:我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树 莓派上面运行,不是在ubuntu linux上面运行。
编译
是在一个平台上生成在该平台上的可执行代码
为什么要交叉编译?
虽然已经有了主机编译,但目的平台上不允许或不能够安装我们所需要的编译器。有时是因为 目的平台上的①资源贫乏,无法运行我们所需要编译器;有时又是因为②目的平台还没有建 立,连操作系统都没有,根本谈不上运行什么编译器。
树莓派有时因为目的平台还没有建立,也要进行交叉编译。
宿主机(host)与目标机(target)
- 宿主机:编辑和编译程序的平台,一般是基于X86的PC机。
- 目标机:用户开发的系统,通常都是非X86平台。host编译得到的可执行代码在target上运行。
交叉编译需要用到什么工具?
交叉编译器、交叉编译工具链
二、交叉编译工具链的安装
交叉编译工具下载
树莓派软件 ====>>tools-master.zip
https://pan.baidu.com/s/1BGINcmFowG7zuS4BT8disA
提取码:764w
交叉编译工具安装
①将压缩包拷贝进虚拟机linux(直接拖入、共享文件夹、filezilla)
②解压