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

时间:2020-03-05 15:32:12  来源:igfitidea点击:

GNU编译器集合(GCC)是C,C++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合。

许多开源项目,包括Linux内核和GNU工具,都是使用GCC编译的。

本文介绍了如何在Ubuntu 20.04上安装GCC。

在Ubuntu 20.04上安装GCC

默认的Ubuntu存储库包含一个名为“ build-essential”的元软件包,其中包括GNU编译器集合,GNU调试器以及编译软件所需的其他开发库和工具。

要安装开发工具包,请以root或者具有sudo特权的用户身份运行以下命令:

sudo apt updatesudo 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

你好ç

//hello.c
#include <stdio.h>
 
int main() {
    printf("Hello, world!\n");
    return 0;
}

保存文件并将其编译为可执行文件:

gcc hello.c -o hello

这将在运行命令的同一目录中创建一个名为“ hello”的二进制文件。

使用以下命令执行“ hello”程序:

./hello

该程序应打印:

Hello World!

安装多个GCC版本

本节提供有关如何在Ubuntu 20.04上安装和使用多个版本的GCC的说明。
GCC编译器的较新版本包括新功能和优化改进。

在撰写本文时,默认的Ubuntu存储库包括几个GCC版本,从'7.x.x'到'10 .x.x'。

在以下示例中,我们将安装最新的三个版本的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-10sudo 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-9sudo 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版本的列表。
输入我们要用作默认版本的版本号,然后按“ Enter”键。

该命令将创建指向GCC和G ++特定版本的符号链接。