交叉编译

本文详细介绍了交叉编译的概念,强调了在资源有限的平台如树莓派上进行编译的必要性。讲解了如何配置和使用交叉编译工具链,特别是针对树莓派的gcc-linaro-arm-linux-gnueabihf-raspbian-x64。还涉及到在交叉编译中遇到的问题,如wiringPi库的链接错误,以及解决方法——使用软链接。此外,文章还提醒读者软链接在面试中的重要性,并简述了软链接和硬链接的区别。
摘要由CSDN通过智能技术生成

交叉编译概念:
交叉编译是在一个平台上生成另一个平台上的可执行代码。例如:我们在ubnutu上写树莓派代码,并编译成可执行文件,如a.out,是在树莓派上运行,并不是在ubnutu上运行。
编译概念:
在一个平台上生成在该平台上可执行代码。
为什么要交叉编译:
平台上不允许或不能够安装我们所需要的编译器比如C51。
1.因为目的平台上的资源贫乏,无法运行我们所需要编译器。
2.树莓派是不是就不需要交叉编译?
要。树莓派有时有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。操作系统也是代码,也要编译!
3.平台运行至少需要俩样东西:bootloader(启动引导代码)以及操作系统核心
宿主机:编辑和编译程序的平台,一般是基于X86的PC机,通常也被称为主机。比如windos电脑
目标机:用户开发的系统,通常都是非X86平台。host编译得到的可执行代码在target上运行。比如树莓派
交叉编译工具:交叉编译器、交叉工具链

如何配置交叉编译器以及环境变量
交叉编译器下载地址:https://github.com/raspberrypi/tools

  1. 创建一个文件夹存放下载好的交叉编译器的压缩包。
    从共享文件拷贝到目录:cp /mnt/hgfs/sharew/tools-master.zip
    在这里插入图片描述

2.拷贝过来以后用unzip指令解压压缩包
3.解压完成后cd进压缩包
在这里插入图片描述
4.在cd进arm-bcm2708的目录
在这里插入图片描述

5.再cd进gcc-linaro-arm-linux-gnueabihf-raspbian-x64目录 再cd进bin目录展开如下:我们用的就是arm-linux-gnueabihf-gcc

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值