1. 前言
GNU编译器集合(GCC)是C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合。 许多开源项目包括GNU工具和Linux内核都是用GCC编译的。
本教程将介绍如何在CentOS 7上安装最新版的GCC编译器。我们将向您展示如何安装可从SCL仓库中获得的发行版稳定版和更新版本的GCC。
2. 安装GCC前提条件
为了能够在CentOS系统上添加新的仓库和安装软件包,您必须以具有sudo权限的用户身份登录。
3. CentOS7如何安装GCC编译器
默认的CentOS软件仓库包含一个名为Development Tools的包组,其中包含GCC编译器以及编译软件所需的许多库和其他实用程序。
要安装包括GCC编译器运行的开发工具:
sudo yum group install "Development Tools"
该命令将安装一堆新的相关软件包,包括gcc,g++和make。
您可能还想安装有关使用GNU/Linux进行开发的手册页:
sudo yum install man-pages
4. 验证是否已经成功安装GCC编译器
使用gcc --version
命令验证是否已成功安装GCC编译器,该命令将打印GCC版本:
gcc --version
你可以看到有这样类似的输出结果:
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现已安装在您的系统上,您可以开始使用它。
CentOS 7软件仓库中可用的默认GCC版本是4.8.5
使用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!
5. CentOS7如何安装多个GCC版本
在本节中,我们将提供有关如何在CentOS 7上安装和使用多个版本GCC的说明。较新版本的GCC编译器包括对新语言的支持,更好的性能和扩展功能。
软件集合,也称为SCL(Software Collections),是一个社区项目,允许您在同一系统上构建,安装和使用多个版本的软件,而不会影响系统默认软件包。 通过启用软件集,您将可以访问核心软件仓库中不可用的较新版本的编程语言和服务。
sudo yum install centos-release-scl
目前,可以使用以下Developer Toolset集合:
Developer Toolset 7
Developer Toolset 6
在此示例中,我们将安装Developer Toolset版本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 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版本。
6. 结论
现在,您已经在CentOS 7上成功安装了GCC。您现在可以访问GCC官方文档页面,了解如何使用GCC和G ++编译C和C ++程序。
如果您遇到问题或有反馈,请在下面留言。
评论前必须登录!
注册