首页 > 系统相关 >Ubuntu 中GCC交叉编译工具链安装

Ubuntu 中GCC交叉编译工具链安装

时间:2024-08-18 17:54:01浏览次数:11  
标签:GCC 交叉 Ubuntu gnueabihf gcc 编译 编译器 linux arm

​ Ubuntu 自带的 gcc 编译器是针对 X86 架构的,如果要编译的是 ARM 架构的代码,就需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架 构代码的 GCC 编译器,这个编译器就叫做交叉编译器,总结一下交叉编译器就是:

1、它肯定是一个 GCC 编译器。

2、这个 GCC 编译器是运行在 X86 架构的 PC 上的。

3、这个 GCC 编译器是编译 ARM 架构代码的,也就是编译出来的可执行文件是在 ARM 芯 片上运行的。

​ 交叉编译器有很多种,下面将介绍Linaro GCC 编译工具链(编译器)的安装,关于 Linaro 详细的介绍可以到 Linaro 官网查阅。Linaro GCC 编译器4.9版本下载地址如下:

https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/

在这里插入图片描述

图中有很多种交叉编译器,我们只需要关注这两种: gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.tar.xz 和 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz,

第一个是针对 32 位系统的,第二个是针对 64 位系统的。大家根据自己所使用的 Ubuntu 系统类型选择合适的版本,比如我安装的 Ubuntu 16.04 是 64 位系统,因此我要使用 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。

下载后在linux目录下创建一个目录存放此编译器安装包。

在 Ubuntu 中创建目录:/usr/local/arm,命令如下:

sudo mkdir /usr/local/arm

创建完成以后将刚刚拷贝的交叉编译器复制到/usr/local/arm 这个目录中,在终端使用命令“ cd” 进入到存放有交叉编译器的目录 ,将其拷贝到/usr/local/arm目录中。

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f

拷贝完成以后在/usr/local/arm 目录中对交叉编译工具进行解压,解压命令如下:

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

等待解压完成,解压完成以后会生成一个名为“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf”的文件夹,这个文件夹里面就是我们的交叉编译工具链。修改环境变量,使用 VI 打开/etc/profile 文件,命令如下:

sudo vi /etc/profile

打开/etc/profile 以后,在最后面输入如下所示内容:

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

添加完成以后的/etc/profile 如图所示

在这里插入图片描述

修改好以后就保存退出,重启 Ubuntu 系统,交叉编译工具链(编译器)就安装成功了

在使用交叉编译器之前还需要安装一下其它的库,命令如下:

sudo apt-get install lsb-core lib32stdc++6

等待这些库安装完成。

查看一下交叉编译工具的版本号,输入如下命令:

arm-linux-gnueabihf-gcc -v

如果交叉编译器安装正确的话就会显示版本号

号,输入如下命令:

arm-linux-gnueabihf-gcc -v

如果交叉编译器安装正确的话就会显示版本号

在这里插入图片描述

标签:GCC,交叉,Ubuntu,gnueabihf,gcc,编译,编译器,linux,arm
From: https://blog.csdn.net/szq0909/article/details/141277737

相关文章

  • Ubuntu无法解析域名DNS指向127.0.0.53问题处理
    首次尝试编辑/etc/resolved.conf文件DNS为114.114.114.114发现reboot重启后又恢复到127.0.0.53的内容再次尝试修改文件vi/etc/systemd/resolved.conf 在其中添加dns信息DNS=114.114.114.114保存退出依次执行重启解析服务systemctlrestartsystemd-resolved设置解析服务......
  • 【Android驱动12】Modem编译和sim卡配置检测过程
    一,Modem编译1.1查看ReleseNote发现需要查看"Build_Configure_Modem_MOLY"这张表,解压MT67xx_(xxx)_MOLY.LR9.W1444.MD.LWTG.MP.Vx.tar.gz到某文件,并在make目录下查看支持的配置信息1.2执行的命令,开始编译modem,则是./make.sh"SM67xx(Lxx_xxx).mak"new1.3执行perl......
  • pve 8.2.2 解决unsupported Ubuntu version '24.04'
    解决unsupportedUbuntuversion'24.04'问题描述:我在重装pve8.2.2恢复我的容器和虚拟机的时候,发现24.04的容器恢复时出现了如下错误:TASKERROR:unabletorestoreCT104-unsupportedUbuntuversion'24.04'在pve的论坛可以看到这篇文章:Ubuntu24.04-unsupportedUbunt......
  • ubuntu常用命令
    安装deb文件命令sudodpkg-i文件名.deb 查找文件find-nametest_detectors_regression.impl.hppsudofind/-name"clion.sh"sudofind/-name"clion.png" ubuntu去掉文件夹的锁 问题描述:配置环境过程中莫名其妙文件带锁,不能读写甚至不能删除操作。遇到过不少......
  • ubuntu 安装jenkins
    下载deb包https://mirrors.aliyun.com/jenkins/debian/jenkins_2.462_all.deb注意,最新版本的jenkins支持的java版本有[11,17,21],执行/usr/bin/jenkins会有相应的提示。 说明:本文使用的操作系统为:Ubuntu24.04LTS 安装javahttps://download.oracle.com/java/21/latest/......
  • ubuntu 安装 wine
    wine官网https://wiki.winehq.org/Ubuntu_zhcn如果您使用的是64位系统,请开启32bit架构支持(如果您之前没有开启的话):sudodpkg--add-architecturei386下载添加仓库密钥:sudomkdir-pm755/etc/apt/keyringssudowget-O/etc/apt/keyrings/winehq-archive.key......
  • 在 Ubuntu 中查找库的位置:以 FFTW3 库为例
    目录一、为什么要查找库的位置?二、查找库位置的常用方法三、实践示例四、总结在Ubuntu或其他基于Linux的操作系统中,开发者常常需要查找已安装库的位置,以便进行编译、链接或配置环境变量。本文将详细介绍如何在Ubuntu中查找库的位置,并以常用的FFTW3库为例进行......
  • 手把手教你利用算法工具链训练、量化、编译、可视化征程 6 参考算法 BEVFormer
    写在前面:关于OE包内参考算法的使用,地平线已经释放了大量文档指导用户完成各类模型的训练、校准、量化、定点过程,但其中有些细节可能会对不是特别熟悉算法工具链的客户造成困扰,本文档致力于消除参考算法使用过程中所有可能存在的模糊操作,引导初学者快速上手参考算法,在实操中树立......
  • brpc linux 下编译构建
    brpc在linux下编译构建,比在mac下还要更复杂些,mac下可以走官方说明编译成功,过程中也需要进行一些配置调整。在linux通过bazel最终实现了brpc编译通过。   相关版本centos版本7,bazel版本2.0.0    brpc版本1.0,gflags、protobuf、leveldb......
  • Linux系统的Apache2如何启动cgi模块(Ubuntu)
    欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!江山如画,客心如若,欢迎到访,一展风采文章目录环境1.**启用CGI模块**2.**配置CGI脚本目录**3.**配置CGI脚本**4.**测试CGI脚本**5.**访问CGI脚本**6.**调整S......