本系列导航
1. 对交叉编译的基本理解
2. Qt的交叉编译(带EGLFS支持)
3. OpenCV的交叉编译(OpenCV4.5.0)
交叉编译是在一个平台上生成另一个平台上的可执行代码。(编译是在一个平台上生成在该平台上的可执行代码。)
例如:
在Windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在C51上面运行,不是在Windows上面运行;在Ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树莓派上面运行,不是在Ubuntu上面运行。
进一步说明:
若树莓派中已经安装了gcc工具链,则可在树莓派中直接编译源代码生成可执行文件;PC机上也可使用gcc工具链生成可执行代码,但是和树莓派上的gcc工具不同,PC机上的gcc工具生成Intel或Amd芯片上可执行的代码,但树莓派却是Arm系列的芯片。使用交叉工具链可在PC机上开发树莓派中的可执行程序。
① 目的平台上不具备编译器的安装条件(例如:C51。)
② 交叉编译可节约开发时间(例如:树莓派比PC的性能低,使用交叉工具链在PC端编译树莓派中的可执行程序可节约开发时间,提高效率。)
之后会慢慢更新交叉编译的过程。