如何在CentOS 7上安装GCC编译器

时间:2020-03-05 15:24:37  来源:igfitidea点击:

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

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

本教程说明了如何在CentOS 7上安装GCC编译器。
我们将说明如何安装SCL存储库中可用的发行稳定版和较新版本的GCC。

准备工作

要在CentOS系统上添加新的存储库并安装软件包,我们必须以root用户或者具有sudo特权的用户身份登录。

在CentOS上安装GCC

默认的CentOS储存库包含一个名为“开发工具”的软件包组,其中包含GCC编译器以及编译软件所需的许多库和其他实用程序。

要安装包括GCC编译器在内的开发工具,请运行:

sudo yum group install "Development Tools"

该命令将安装一堆新软件包,包括'gcc','g ++'和'make'。

我们可能还需要安装有关使用GNU/Linux进行开发的手册页:

sudo yum install man-pages

通过使用显示gcc版本的'gcc --version'命令来验证是否成功安装了gcc编译器:

gcc --version

CentOS 7储存库中可用的GCC的默认版本是“ 4.8.5”:

gcc (GCC) 4.8.5 20140623 (Red Hat 4.8.5-36)
Copyright (C) 2014 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,我们可以开始使用它了。

编译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”的二进制文件。

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

./hello

该程序应显示:

Hello World!

安装多个GCC版本

在本节中,我们将提供有关如何在CentOS 7上安装和使用GCC的多个版本的说明。
GCC编译器的较新版本包括对新语言,更好的性能和扩展功能的支持。

Software Collections(也称为SCL)是一个社区项目,它使我们可以在同一系统上构建,安装和使用多个版本的软件,而不会影响系统默认软件包。

通过启用软件集合,我们可以访问核心存储库中不提供的较新版本的编程语言和服务。

SCL存储库提供了一个名为Developer Toolset的软件包,其中包括GNU Compiler Collection的较新版本以及其他开发和调试工具。

首先,安装CentOS SCL发行文件。
它是CentOS Extras存储库的一部分,可以通过运行以下命令进行安装:

sudo yum install centos-release-scl

当前,可以使用以下开发人员工具集集合:

  • 开发人员工具集7
  • 开发人员工具集6

在此示例中,我们将安装开发人员工具集版本7.
为此,请在CentOS 7终端上键入以下命令:

sudo yum install devtoolset-7

要访问GCC版本7,我们需要使用Software Collection'scl'工具启动一个新的shell实例:

scl enable devtoolset-7 bash

现在,如果我们检查了GCC版本,我们会注意到GCC 7是当前Shell中的默认版本:

gcc --version
gcc (GCC) 7.3.1 20160303 (Red Hat 7.3.1-5)
Copyright (C) 2016 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版本。