在ubuntu虚拟机上安装不同版本的交叉编译工具链

在之前的章节中,学习了如何安装了4.8.3的交叉编译工具链:

交叉编译 和 软硬链接 的初识(面试重点)-CSDN博客

但是,在之后学习内核编译时,由于我的树莓派内核版本较高,为6.1,所以在使用4.8.3版本的交叉编译工具链来进行内核配置的时候会提示版本过低:

于是只好安装更高版本的交叉编译工具链,经过实践:虽然报错提示最低也要使用5.1.0版本的交叉编译器,但是我下载5.3或者5.5版本的依然会报错。可见,交叉编译工具链不是版本越高越好,而是要选择和内核版本兼容的我最后安装了5.1版本的

不同版本的交叉编译工具链下载地址:

Linaro Releases

进入网站后:

 

  • 下载下来后是.tar.xz后缀的压缩文件,先用windows解压一层变成.tar文件再拖入虚拟机(再解压tar的话windows又会提示大小写不同的文件名属于同名文件了):
sudo tar -xvf gcc-linaro-5.1-2015.08-x86_64_arm-linux-gnueabihf.tar //解压

 

  • 解压后进入该文件夹,再进入bin,找到“arm-linux-gnueabihf-gcc”:

  • 为了防止和之前4.8.3版本的交叉编译器名字重叠,创建一个名为“arm-linux-gcc-5.1”的软链接指向它:
sudo ln -s arm-linux-gnueabihf-gcc arm-linux-gcc-5.3

 

  • 同样的,为4.8.3也重新创建一个软链接“arm-linux-gcc-4.8.3”来区分:
1. cd /home/mjm/ras_CrossCompile/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
2. ln -s arm-linux-gnueabihf-gcc-4.8.3 arm-linux-gcc-4.8.3

 

  • 然后永久性添加环境变量:
1. 将/home/mjm/ras_CrossCompile/gcc-linaro-5.1-2015.08-x86_64_arm-linux-gnueabihf/bin添加上4.8.3的环境变量之后,用“:”分隔2. vi /home/mjm/.bashrc3. 将1的内容加入2的文件最下方,保存退出4. source /home/mjm/.bashrc

 

  •  最后重新开一个终端输入“arm-linux-gcc-5.1 -v”和“arm-linux-gcc-4.8.3 -v”测试:

输入arm-linux-gcc-5.1 -v:

输入arm-linux-gcc-4.8.3 -v:

可见,成功在虚拟机上安装了不同版本的交叉编译工具链,且使用了软链接来自由的使用他们!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/236056.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java SpringBoot Controller常见写法

文章目录 环境Controller调用脚本运行结果总结 环境 系统: windows 11 工具: java, idea, git bash Controller 接口常见有以下几种方式 其中: Tobj 调用脚本 我的是windows 系统,使用 git bash 窗口运行, 用 cmd 或者 power shell 会有问题 curl …

传统算法:使用 Pygame 实现二分查找

使用 Pygame 模块实现了二分查找的动画演示。首先,它生成一个有序数组,并通过 Pygame 在屏幕上绘制这个数组的条形图。接着,通过二分查找算法对有序数组进行查找,动画效果可视化每一步的变化。在查找的过程中,程序通过比较目标值和数组中间元素,逐步缩小搜索范围,高亮显…

使用 SDKMAN 管理多版本本地 Java 环境---Centos8 Windows

文章目录 windows 安装centos8 安装卸载sdkman使用 windows 安装 SDKMAN是一个 jdk 多版本管理工具,类似于 nodejs 中的 nvm。可以在本地存在多个 java 环境,快速切换功能,同时,他不止于 java sdk,还有maven、tomcat等…

如何安装RAD Studio 12(delphi 12)

如何安装RAD Studio 12(delphi 12) RAD Stuido 12 Athens How to install RAD Studio 12 29.0.50491.5718 InterBase 2020 14.5.0.864(x64) 14.5.0.864(x86) Download: http://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_49157…

血的教训---入侵redis并免密登录redis所在服务器漏洞复现

血的教训—入侵redis并免密登录redis所在服务器漏洞复现 今天就跟着我一起来入侵redis并免密登录redis所在服务器吧,废话不多说,我们直接开始吧。 这是一个体系的学习步骤,当然如果基础扎实的话可以继续往下面看 以下都是关联的文章&#xff…

华为云之一键安装宝塔面板

华为云之一键安装宝塔面板 一、本次实践介绍1.1 实践环境简介1.2 本次实践目的 二、宝塔面板介绍三、环境准备工作3.1 预置实验环境3.2 查看环境信息3.3 登录华为云3.4 查看弹性云服务器状态3.5 ssh登录弹性云服务器3.6 查看操作系统版本 四、安装宝塔面板4.1 一键部署宝塔面板…

【古月居《ros入门21讲》学习笔记】05_ROS是什么及其核心概念

目录 说明 1. ROS发展史 ROS版本演变 2. ROS是什么 ROS中的通信机制 ROS中的开发工具 ROS中的应用功能 ROS中的生态系统 3. ROS核心概念 节点与节点管理器 通信方式1:话题 通信方式2:服务 话题与服务的区别 参数 文件系统 说明 1. 本系列…

深入理解Zookeeper系列-2.Zookeeper基本使用和分布式锁原理

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理🔥如果感觉博主的文章还不错的话&#xff…

nginx部署多个vue或react项目

下载nginx(tar.gz) nginx: download(官方地址) 部署nginx # 进入nginx压缩包所在目录 cd /usr/nginx# 解压 tar -zxvf nginx-1.25.3.tar.gz# 安装nginx的相关依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel# 生成Makefile可编译文件 cd /usr/ng…

flutter开发实战-轮播Swiper更改Custom_layout样式中Widget层级

flutter开发实战-轮播Swiper更改Custom_layout样式中Widget层级 在之前的开发过程中,需要实现卡片轮播效果,但是卡片轮播需要中间大、两边小一些的效果,这里就使用到了Swiper。具体效果如视频所示 添加链接描述 这里需要的效果是中间大、两边…

No matching version found for @babel/compat-data@^7.23.5 处理

npm ERR! notarget No matching version found for babel/compat-data^7.23.5 处理 报错信息 npm WARN ERESOLVE overriding peer dependency npm ERR! code ETARGET npm ERR! notarget No matching version found for babel/compat-data^7.23.5. npm ERR! notarget In most …

变速箱壳体铸造件自动化三维测量室厂家自动化检测偏差比对-CASAIM-IS(2ND)

一、背景介绍: 随着制造业的快速发展,对产品质量和生产效率的要求不断提高。壳体铸造件作为一种常见的机械零部件,广泛应用于各个领域,对壳体铸造件的质量可靠性的要求也越来越高,因此,对壳体铸造件进行精…