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

2023-05-16

本文最先发布在:https://www.itcoder.tech/posts/how-to-install-gcc-on-ubuntu-20-04/

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.x10.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++ 程序。

 




如果你有任何疑问,请通过以下方式联系我们:

微信:

微信群: 加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646雪梦科技交流群

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 20.04 上安装 GCC(build-essential) 的相关文章

  • GitHub上 README 增加图片标签

    hey Guys 你可能遇到的GitHub上好的项目都有一个非常棒的README xff0c 其中不乏用到一些非常好看的标签 比如下面这样 xff1a walle fastjson 那我们怎样自己添加一个高大上图片标签呢 xff1f 比如我
  • 树莓派上使用 Gstreamer做视频推流

    树莓派使用Gstreamer进行视频推流 最近在研究如何使用树莓派进行视频推流推送到云端 进行了各种比较尝试后 xff0c 认为使用Gstreamer比较好 xff0c 主要的一点就是想利用Gstreamer的硬件加速 在使用ffmpeg的
  • geoserver jms集群部署

    1 集群节点运行架构图 官网集群介绍 xff1a https docs geoserver org latest en user community jms cluster index html 节点之间通过jms消息通信 xff0c A节
  • linux smb配置 不修改git权限

    root 64 localhost cat etc samba smb conf map archive 61 no map hidden 61 no map read only 61 no map system 61 no store d
  • luogu P1185 绘制二叉树

    题目大意 绘制一棵给定的二叉树 解题思路 模拟即可 代码比较乱 include lt cstdio gt include lt cstdlib gt include lt cstring gt const int MAXN 61 12 第i
  • shell 自动化运维

    1 shell 基础知识 1 shell是一个程序 xff0c 文件路径 xff1a bin bash xff0c 是一个命令解释器 xff0c 所有的linux命令都由它来执行 打开终端 xff0c 就进入了shell交互式命令 2 sh
  • 递归求鸭子数

    一个人赶着鸭子去每个村庄卖 xff0c 每经过一个村子卖去所赶鸭子的一半又一只 这样他经过了七个村子后还剩两只鸭子 xff0c 问他出发时共赶多少只鸭子 xff1f 经过每个村子卖出多少只鸭子 xff1f span style color
  • 【STM32】基于STM32F407寄存器方式点亮LED流水灯

    目录 一 STM32F4寄存器介绍二 通过寄存器方式点亮流水灯1 硬件设计2 软件设计3 烧录验证 三 原理阐述1 使能IO口时钟2 初始化IO口模式3 操作IO口 xff0c 输出高低电平 四 总结五 参考 本文使用 原子STM32F40
  • Python+tkinter+pillow实现屏幕任意区域截图

    基本思路 xff1a 首先获取并显示全屏幕截图 xff0c 然后在全屏幕截图上响应鼠标左键按下和抬起事件 xff0c 最后进行二次截图 import tkinter import tkinter filedialog import os f
  • iOS瀑布流

    WaterFallFlow 瀑布流Demo 使用UICollectionView实现瀑布流 自定义UICollectionViewLayout中的主要代码 xff1a YJWaterFlowLayout h中代码 span class hl
  • RedHat8 服务安装(编译、rpm、dnf)

    安装软件的三种方式 下载源码编译安装 可以实现自定义安装目录和参数调整可以指定版本安装在其他2个方法无法安装的情况下可以编译安装 xff08 解决兼容性 xff09 需要自己解决依赖关系 下载rpm包安装 需要下载对应系统的rpm包 xff
  • OpenStack octavia LB负载均衡基础

    octavia octavia 作为openstack的负载均衡方案 xff0c 实现4层和7层的负载 xff0c 自Pike版本替换了neutron自带的LB方案 xff08 Neutorn LBaaS xff09 基本对象 loadba
  • DoraOS连接Proxmox VE搭建简单桌面云

    最近公司想换桌面云 xff0c 我就说想搭建一个Proxmox VE环境 xff0c 问我为什么要用Proxmox 简单说就是好用 xff0c 相对于Xendesktop和horizon xff0c 以及各种厂商的VDI解决方案 xff0c
  • DoraCloud for Proxmox桌面云上启用NVIDIA Tesla P4的vGPU功能

    Proxmox virtualization environment xff0c 简称PVE xff0c 是一个开源免费的基于linux的企业级虚拟化方案 xff0c 功能不输专业收费的VMware 简单的说 xff0c PVE是一个基于D
  • 【meta-learning】经典工作MAML和Reptile(demo理解meta-learning机制)

    Meta Learning MAML ICML 17 MAML和模型结构 任务无关 xff0c 唯一的要求只是模型有参数就可以 MAML产生一个权重的初始化 xff0c 其他模型再使用少量的样本就能在其基础上进行fine tuning 因此
  • 语音识别功能集成总结

    一 场景 业务需求 xff0c 需要集成语音识别功能 xff0c 供移动端使用 二 调研 经过初步了解 xff0c 决定集成国内主流的三家厂商 xff0c 科大讯飞 百度 腾讯 讯飞不用说 xff0c 在语音识别这块之前被评为全球最聪明的5
  • 技巧1 python|django接收参数数据类型转换(数组-列表,对象-字典,json)举例用法

    1 接收的参数是中文乱码 xff08 E7等 xff09 django 中 xff1a 引入quote 引入后红线处点击红色小灯 xff0c 点安装 span class token keyword from span urllib spa
  • WEEK4 二分与贪心

    DDL的恐惧 xff1a 题干 xff1a ZJM 有 n 个作业 xff0c 每个作业都有自己的 DDL xff0c 如果 ZJM 没有在 DDL 前做完这个作业 xff0c 那么老师会扣掉这个作业的全部平时分 所以 ZJM 想知道如何安
  • Ubuntu中的dpkg命令

    dpkg是Debian Package的缩写 xff0c 是专门为Debian开发的软件包管理系统 xff0c 方便安装 管理 更新 近来在安装chrome的时候 xff0c 一开始使用sudo apt get install命令 xff0
  • 分布式事务实战--go语言的saga事务

    我们团队在引入go语言做微服务的过程中 xff0c 遇见了分布式事务的强需求 我们的交易中心涉及大量的业务 xff0c 包括了商品 库存 各类营销活动 商品权限等等 xff0c 按照我们微服务的设计 xff0c 需要拆分到多个微服务 原先由

随机推荐

  • openstack安装故障排除经验

    1 OpenStack的部署过程遇到的问题可归纳总结为配置文件问题 配置步骤缺失 等 2 故障通常有以下几种情况 xff1a xff08 1 xff09 时间同步问题 xff0c 两 xff08 多 xff09 个节点间时间不同步 xff0
  • 【已解决】 Windows11安装WindowsSubsystemForAndroid时报错VClibs错误

    管理员终端输入以下代码安装 xff0c WindowsSubsystemForAndroid add Appxpackage 34 MicrosoftCorporationII WindowsSubsystemForAndroid 1 7
  • SQL解析引擎Apache Calcite

    1 什么是Apache Calcite Apache Calcite 是一款开源SQL解析工具 可以将各种SQL语句解析成抽象语法术AST Abstract Syntax Tree 之后通过操作AST就可以把SQL中所要表达的算法与关系体现
  • C# 使用Selenium

    一 介绍 xff1a Selenium 是一个用于Web应用程序测试的工具 Selenium测试直接运行在浏览器中 xff0c 就像真正的用户在操作一样 1 Selenium Webdriver xff08 也就是Selenium2 xff
  • CentOS 7关闭与启用图形化界面记录

    1 关闭图形界面命令 systemctl set default multi user target 2 查看启动模式 systemctl get default 显示 graphical targe 则代表是 图形化界面模式 显示 mul
  • ubuntu下conda虚拟环境的操作,cuda,cudnn版本的查询, pytorch的安装

    一 ubuntu下conda虚拟环境的操作 随着深度学习的发展 xff0c tensorflow keras pytorch等深度学习框架的兴起和发展 xff0c 或者多用户的使用情况 xff0c 使得在ubuntu下我们可能需要安装多个深
  • dos 设置环境变量

    1 查看环境变量 echo path 2 设置环境变量 set path 61 path C your path
  • H264--2--语法及结构

    名词解释 场和帧 xff1a 视频的一场或一帧可用来产生一个编码图像 在电视中 xff0c 为减少大面积闪烁现象 xff0c 把一帧分成两个隔行的场 片 xff1a 每个图象中 xff0c 若干宏块被排列成片的形式 片分为I片 B片 P片和
  • 强化练习6:判断一字符串是否为回文,是返回1,不是返回0,出错返回-1

    题目 xff1a 判断一字符串是否为回文 xff0c 是返回1 xff0c 不是返回0 xff0c 出错返回 1 程序如下 xff1a include lt stdio h gt int fun char p if p 61 61 NULL
  • debian 服务器安装图形界面

    本人由于习惯了Ubuntu的图形界面 xff0c 实际上 呢 xff0c 是被Windows给带坏了 虽然全 控制台 很流弊 xff0c 但看着还是很不舒服 xff0c 所以就想着 安装 一个图形界面 其实很简单的说 xff0c 就是几行命
  • 如何在Ubuntu 20.04 上安装 Xrdp 服务器(远程桌面)

    本文最先发布在 xff1a https www itcoder tech posts how to install xrdp on ubuntu 20 04 Xrdp 是一个微软远程桌面协议 xff08 RDP xff09 的开源实现 xf
  • 分布式事务最经典的七种解决方案

    随着业务的快速发展 业务复杂度越来越高 xff0c 几乎每个公司的系统都会从单体走向分布式 xff0c 特别是转向微服务架构 随之而来就必然遇到分布式事务这个难题 xff0c 这篇文章总结了分布式事务最经典的解决方案 xff0c 分享给大家
  • 如何在 Ubuntu 20.04 上安装 Ruby

    本文最先发布在 xff1a https www itcoder tech posts how to install ruby on ubuntu 20 04 Ruby 是当今最流行的语言之一 它有简洁的语法 xff0c 并且注重简单和生产力
  • 如何在 Ubuntu 20.04 上安装 Tomcat 9

    本文最先发布在 xff1a https www itcoder tech posts how to install tomcat 9 on ubuntu 20 04 这篇指南描述如何在 Ubuntu 20 04 上安装和配置 Tomcat
  • 如何在 Ubuntu 20.04 上安装 Yarn

    本文最先发布在 xff1a https www itcoder tech posts how to install yarn on ubuntu 20 04 Yarn 是一个 JavaScript 包管理器 xff0c 它兼容于 npm x
  • 如何在 Ubuntu 20.04 上安装和使用 Docker Compose

    本文最先发布在 xff1a https www itcoder tech posts how to install and use docker compose on ubuntu 20 04 Docker Compose 是一个命令行工具
  • 如何在 Ubuntu 20.04 上安装 VirtualBox

    本文最先发布在 xff1a https www itcoder tech posts how to install virtualbox on ubuntu 20 04 VirtualBox 是一个开源的 xff0c 跨平台的虚拟化软件 x
  • 如何在 Ubuntu 20.04 启用 SSH

    本文最先发布在 xff1a https www itcoder tech posts how to enable ssh on ubuntu 20 04 Secure Shell SSH 是一个网络协议 xff0c 它主要被用来加密客户端和
  • 如何在 Ubuntu 20.04 上安装 Vagrant

    本文最先发布在 xff1a https www itcoder tech posts how to install vagrant on ubuntu 20 04 Vagrant是一个命令行工具 xff0c 用于构建和管理虚拟开发环境 默认
  • 如何在 Ubuntu 20.04 上安装 GCC(build-essential)

    本文最先发布在 xff1a https www itcoder tech posts how to install gcc on ubuntu 20 04 GNU 编译器集合是一系列用于语言开发的编译器和库的集合 xff0c 包括 C C