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

2020-05-11 16:54:09 浏览数 (1)

The GNU Compiler Collection (GCC) 是一系列编译器的集合,它包括 C,C ,Objective-C, Fortran, Ada, Go, 和 D 语言。很多开源的项目包括 GNU 工具和 Linux Kernel 都是用 GCC 编译的。

这篇指南讲解了在 CentOS 7 上如何安装 GCC 编译器。我们将会讲解如何安装发行稳定版本和从 SCL 源上安装更新的版本。

一、前提条件

想要在你的 CentOS 系统上添加新的软件源,安装软件包,你必须以 root 或者有 sudo 权限的用户身份登录系统。

二、在 CentOS 上安装 GCC

默认的 CentOS 软件源上包含一个名称为Development Tools的软件包组,这个组合包含了 GCC 编译器以及一系列库文件,还有其他编译软件需要用到的工具。

想要安装 Development Tools 包含 GCC 编译器,运行:

代码语言:javascript复制
sudo yum group install "Development Tools"

这个命令安装了一组新的软件包,包括gccg ,和make

你可能还想安装关于使用 GNU/Linux 进行开发的用户手册:

代码语言:javascript复制
sudo yum install man-pages

使用gcc -version来验证 GCC 编译器是否安装成功,它会打印 GCC 版本:

代码语言:javascript复制
gcc --version

在 CentOS 7 软件源上,默认 GCC 可用版本是4.8.5:

代码语言:javascript复制
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 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 程序是一个很简单的任务。打开你的文本编辑器,并且创建以下文件:

代码语言:javascript复制
nano hello.c
代码语言:javascript复制
#include <stdio.h>
int main()
{
  printf ("Hello World!n");
  return 0;
}

保存文件并且通过下面的命令,将它编译成可执行文件:

代码语言:javascript复制
gcc hello.c -o hello

这将会在同一个文件夹下创建一个名称为hello的二进制文件。

执行这个hello程序:

代码语言:javascript复制
./hello

程序应该输出:

代码语言:javascript复制
Hello World!

四、安装多版本 GCC

在这一段,我们将会提供指令,关于在 CentOS 7 如何安装和使用多版本的 GCC。更新版本的 GCC 编译器,包含对新语言的支持,更好的性能,额外的特性。

Software Collections,我们熟知的 SCL,是一个社区项目,它允许你在同一个系统上编译,安装,并且使用多个版本的软件。通过启用软件集合,你可以安装核心软件源上没有的,更新版本的编程语言和服务。

SCL 软件源上提供了一个名为Developer Toolset的软件包,它包含了 GNU Compiler Collection 的更新版本,以及其他开发和调试工具。

首先,安装 CentOS SCL 文件。它是 CentOS 附加源的一部分,你可以通过以下命令安装它:

代码语言:javascript复制
sudo yum install centos-release-scl

现在,下面的开发工具集合都可以用了:

  • Developer Toolset 7
  • Developer Toolset 6

在这个例子中,我们安装 Developer Toolset 7。想要这么做,请在你的 CentOS 终端输入下面的命令

代码语言:javascript复制
sudo yum install devtoolset-7

想要访问 GCC 7,你需要使用软件集合工具scl,启动一个新的 shell:

代码语言:javascript复制
scl enable devtoolset-7 bash

现在,你检查你的 GCC 版本,你可以注意到 GCC7 已经是你的当前 shell 的默认版本:

代码语言:javascript复制
gcc --version
代码语言:javascript复制
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 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,就像其他的工具一样。

五、总结

你已经在你的 CentOS 7 上成功安装了 GCC。现在你可以浏览官方 GCC 文档页面,并且学习如何使用 GCC 和 G 来编译你的 C 和 C 程序。

0 人点赞