如何在 Ubuntu 20.04 上安装 GCC(build-essential)

本文来自于【阿里云官方镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000307095 】

https://developer.aliyun.com/article/766146?spm=a2c6h.12873581.0.0.70212784gaDzaG

镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

GNU 编译器集合是一系列用于语言开发的编译器和库的集合,包括: C, C++, Objective-C, Fortran, Ada, Go, and D等编程语言。很多开源项目,包括 Linux kernel 和 GNU 工具,都是使用 GCC 进行编译的。

本文描述如何在 Ubuntu 20.04 上安装 GCC。

一、在 Ubuntu 20.04 上安装 GCC

默认的 Ubuntu 软件源包含了一个软件包组,名称为 "build-essential",它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具。

想要安装开发工具软件包,以 拥有 sudo 权限用户身份或者 root 身份运行下面的命令:

sudo apt update

sudo apt install build-essential

这个命令将会安装一系列软件包,包括gcc,g++,和make。

你可能还想安装关于如何使用 GNU/Linux开发的手册。

sudo apt-get install manpages-dev

通过运行下面的命令,打印 GCC 版本,来验证 GCC 编译器是否被成功地安装。

gcc --version

在 Ubuntu 20.04 软件源中 GCC 的默认可用版本号为9.3.0:

gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0

Copyright (C) 2019 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

就这些。GCC 已经在你的 Ubuntu 系统上安装好了,你可以开始使用它了。

二、编译一个 Hello World 实例

使用 GCC 编译一个基本的 C 或者 C++ 程序非常简单。打开你的文本编辑器,并且创建下面的文件:

nano hello.c

#include <stdio.h>int main(){

printf ("Hello World!\n");

return 0;

}

保存文件,并且将它编译成可执行文件,运行:

gcc hello.c -o hello

这将在你运行命令的同一个目录下创建一个二进制文件,名称为"hello"。

运行这个hell0程序:

./hello

程序应该打印:

Hello World!

三、安装多个 GCC 版本

这一节提供一些指令,关于如何在 Ubuntu 20.04 上安装和使用多个版本的 GCC。更新的 GCC 编译器包含一些新函数以及优化改进。

在写作本文的时候,Ubuntu 源仓库包含几个 GCC 版本,从7.x.x到10.x.x。在写作的同时,最新的版本是10.1.0。

在下面的例子中,我们将会安装最新的三个版本 GCC 和 G++:

输入下面的命令,安装想要的 GCC 和 G++ :

sudo apt install gcc-8 g++-8 gcc-9 g++-9 gcc-10 g++-10

下面的命令配置每一个版本,并且设置了优先级。默认的版本是拥有最高优先级的那个,在我们的场景中是gcc-10。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8

以后,如果你想修改默认的版本,使用update-alternatives命令:

sudo update-alternatives --config gcc

输出:

There are 3 choices for the alternative gcc (providing /usr/bin/gcc).

Selection Path Priority Status

------------------------------------------------------------

* 0 /usr/bin/gcc-10 100 auto mode

1 /usr/bin/gcc-10 100 manual mode

2 /usr/bin/gcc-8 80 manual mode

3 /usr/bin/gcc-9 90 manual mode

Press <enter> to keep the current choice[*], or type selection number:

你将会被展示一系列已经安装在你的 Ubuntu 系统上的 GCC 版本。输入你想设置为默认的 GCC 版本,并且按回车Enter。

这个命令将会创建符号链接到指定版本的 GCC 和 G++。

四、总结

我们已经向你演示如何在 Ubuntu 20.04 上如何安装 GCC。现在你可以浏览官方 GCC 文档页面,并且学习如何使用 GCC 和 G++ 来编译你的 C 和 C++ 程序。

<think>好的,用户现在问的是如何在Ubuntu 20.04安装aarch64-linux-gnu-gcc。首先,我需要确认用户的需求。他们可能是在进行交叉编译,比如为ARM64架构的设备编译程序,而他们的开发环境是x86_64的Ubuntu系统。 接下来,我应该回忆一下在Ubuntu安装交叉编译工具链的常用方法。通常,可以通过apt-get安装预编译的包。主要的包名可能包括gcc-aarch64-linux-gnu,或者是gcc-arm-linux-gnueabihf,但根据架构的不同,正确的包名需要确认。 用户提到的aarch64-linux-gnu-gcc,对应的包应该是gcc-aarch64-linux-gnu。这时候我需要检查这个包在Ubuntu 20.04的仓库中是否存在,以及如何安装。可能需要更新软件源,然后安装对应的包。 然后,安装完成后,用户可能需要验证安装是否成功,比如运行aarch64-linux-gnu-gcc --version,或者编译一个简单的测试程序。此外,可能还需要安装其他相关的依赖库,比如标准库或者开发库,以便正确地进行交叉编译。 另外,用户可能会遇到的一些问题,比如找不到包,这时候可能需要启用multiverse仓库,或者添加其他PPA源。不过Ubuntu 20.04默认的仓库应该已经包含这个包。如果安装后无法找到命令,可能需要检查路径是否正确,或者安装是否完成。 还有可能用户需要安装交叉编译的辅助工具,比如qemu-user-static,用于在x86环境中运行ARM64的程序,方便测试。这也是一个常见的步骤,可以一并提及。 最后,可能需要给出一个完整的步骤,从更新软件源,安装工具链,到验证安装,以及可能的额外配置。确保用户能够一步步跟着操作,顺利完成安装。 需要注意的是,用户可能对交叉编译不太熟悉,所以解释每一步的作用,以及可能遇到的问题和解决办法,会有助于他们更好地理解和应用。例如,解释为什么需要安装交叉编译工具链,以及如何确认安装成功。 总结下来,回答应该包括以下几个步骤: 1. 更新软件包列表 2. 安装aarch64-linux-gnu-gcc和相关工具 3. 验证安装 4. 可选:安装标准库和其他依赖 5. 可选:使用QEMU进行测试 6. 常见问题处理 同时,要给出具体的命令示例,方便用户直接复制粘贴执行。另外,需要提醒用户注意包名的正确性,以及可能的依赖问题。</think>在 Ubuntu 20.04安装 `aarch64-linux-gnu-gcc`(ARM64 交叉编译工具链)的完整指南: --- ### **1. 安装交叉编译工具链** #### 更新软件源 ```bash sudo apt update ``` #### 安装核心工具链 ```bash sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu ``` #### 验证安装 ```bash aarch64-linux-gnu-gcc --version # 应显示类似: # aarch64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0 ``` --- ### **2. 安装标准库支持(可选)** ```bash sudo apt install libc6-dev-arm64-cross ``` --- ### **3. 简单交叉编译测试** #### 创建测试文件 `hello.c` ```c #include <stdio.h> int main() { printf("Hello ARM64!\n"); return 0; } ``` #### 编译为 ARM64 可执行文件 ```bash aarch64-linux-gnu-gcc hello.c -o hello_arm64 ``` #### 检查文件架构 ```bash file hello_arm64 # 应输出: # ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked... ``` --- ### **4. 运行测试(需 QEMU 模拟器)** #### 安装 QEMU 用户模式支持 ```bash sudo apt install qemu-user-static ``` #### 执行 ARM64 程序 ```bash qemu-aarch64-static -L /usr/aarch64-linux-gnu/ ./hello_arm64 # 输出:Hello ARM64! ``` --- ### **5. 完整开发环境配置(进阶)** #### 安装调试工具 ```bash sudo apt install gdb-multiarch ``` #### 安装构建依赖 ```bash sudo apt install build-essential autoconf libtool pkg-config ``` --- ### **常见问题解决** #### **问题 1:找不到软件包** ```bash # 确保启用了 universe 仓库 sudo add-apt-repository universe sudo apt update ``` #### **问题 2:链接库缺失** ```text # 编译时添加库路径 aarch64-linux-gnu-gcc hello.c -L/usr/aarch64-linux-gnu/lib -o hello ``` #### **问题 3:执行权限问题** ```bash # 若出现 "exec format error" chmod +x hello_arm64 ``` --- ### **典型应用场景** 1. 为树莓派 3/4、NVIDIA Jetson 等 ARM64 设备编译程序 2. 开发嵌入式 Linux 应用 3. 构建 Docker 多架构镜像(需配合 `buildx`) --- 通过以上步骤,您已成功配置 ARM64 交叉编译环境,现在可以编译运行在 ARM64 架构设备上的程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值