加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

GCC编译器下载和安装教案 针对Linux发行版

发布时间:2022-07-12 12:06:33 所属栏目:语言 来源:互联网
导读:由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。 如果读者不清楚当前使用的 Linux 发行版是否已经装有 GCC 编译器
  由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。
 
  如果读者不清楚当前使用的 Linux 发行版是否已经装有 GCC 编译器,或者忘记了已安装 GCC 的版本号,可以打开命令行窗口(Terminal)并执行如下指令:
  [root@bogon ~]# gcc --version
  gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
  Copyright (C) 2010 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.
 
  可以看到,本系统(为 CentOS 6.5)中已经安装有 4.4.7 版本的 GCC 编译器。反之,如果该命令的执行结果为:
  [root@bogon ~]# gcc -version
  bash: /usr/bin/gcc: No such file or directory
 
  则表明当前系统中尚未安装 GCC 编译器。
  快速安装GCC编译器
  要知道,每个 Linux 发行版都有自己的软件包管理工具,比如 CentOS 系统的 yum 包管理器、Ubuntu 系统的 apt 包管理器等等,并且大多数 Linux 发行版都提供有 GCC 编译器的二进制软件包。因此,我们可以直接“傻瓜式”地安装 GCC 编译器(以 yum 为例):
  yum -y install gcc
  yum -y install gcc-c++
 
  通过执行这 2 条指令,就可以在 CentOS 系统中利用 gcc 命令来执行 C 语言程序,利用 g++ 命令来执行 C++ 程序。
  注意,读者切勿认为 gcc 只能用来编译 C 语言程序,g++ 只能用于编译 C++ 程序,这是不对的。有关 gcc 和 g++ 命令,我们会在后续章节给大家做详细讲解。
 
  需要注意的是,采用此方式安装的 GCC 编译器,版本通常较低。以我当前使用的 Centos 6.5 系统为例,通过执行以上 2 条指令,其安装的是 GCC 版本为 4.4.7,而当下 GCC 编译器已经迭代至 10.0.1 版本。
 
  这意味着,如果读者使用此方式安装 GCC 编译器,需要查看 GCC 编译器的版本(通过gcc --version指令)是否符合自己的需求。举个例子,如果读者想编译 C++11 标准下的 C++ 程序,则至少要安装 4.8 版本的 GCC 编译器,低版本的 GCC 编译器是不支持 C++11 标准的。
 
  总的来说,如果读者对 GCC 编译器的版本没有要求,则推荐使用此安装方式;反之,如果读者需要安装指定版本的 GCC 编译器,则需要使用接下来介绍的安装方法。
  手动安装GCC编译器
  注意,此方式需要耗费的时间较长(几个小时),但支持安装指定版本的 GCC 编译器,并适用于大多数 Linux 发行版(不同之处会有额外提示);同时,如果读者想对已安装的 GCC 编译器进行版本升级,也可以使用此方式。
 
  和使用 yum 自动安装 GCC 编译器不同,手动安装 GCC 编译器需要提前到 GCC 官网下载指定版本的 GCC 源码安装包,读者可直接点击GCC源码包进行下载。值得一提的是,每个版本中都包含 2 种格式的压缩包,分别为 tar.gz 和 tar.xz,只是压缩格式不同,本节以 tar.gz 压缩包教大家安装 GCC 编译器。
 
  这里以在 CentOS 系统上安装 10.1.0 最新版本的 GCC 编译器为例,下载的是 gcc-10.1.0.tar.gz 源码压缩包,整个安装过程如下:
  1) 以源码的方式安装 GCC 编译器,即手动编译 GCC 编译器的源码,需要当前系统中存在一个可用的编译器,我们可以用旧版本的 GCC 编译器来编译安装新版本的 GCC 编译器。
 
  如果读者所用的操作系统已安装有旧版本的 GCC 编译器,则无需另行安装;反之,读者需要先运行如下命令,安装一个旧版本的 GCC 编译器:
  yum install -y glibc-static libstdc++-static
  yum install -y gcc gcc-c++
 
  再次强调,不同 Linux 发行版的软件管理器也有所不同,比如 yum 仅适用于 CentOS、RedHat、Fedora 发行版;而 Ubuntu 系统需使用 apt 完成安装。
 
  其中,第一行指令用于安装编译 C 和 C++ 代码所需的静态链接库;第二行指令用于安装编译 C 和 C++ 代码的 gcc 和 g++ 指令。
 
  2) 找到下载好的 gcc-10.1.0.tar.gz 安装包,将其解压至 /usr/local/ 目录下,解压命令为:
  [root@bogon local]# tar -xf gcc-10.1.0.tar.gz -C /usr/local/
 
  由此,在 usr/local/ 目录下,就生成了一个新的名为 gcc-10.1.0 的目录(也就是文件夹)。
 
  3) 紧接着执行如下指令,下载安装 GCC 所需要的依赖包(如 gmp、mpfr、mpc 等):
  [root@bogon local]# cd /usr/local/gcc-10.1.0
  [root@bogon gcc-10.1.0]# ./contrib/download_prerequisites
 
  注意,一定观察此命令的执行结果,保证其确实是将 gmp、mpfr、mpc 等依赖包成功下载下来,才能继续执行下面的安装步骤。
 
 
  4) 完成以上准备工作之后,就正式进入安装 GCC 编译器的环节。首先,我们需要手动创建一个目录,用于存放编译 GCC 源码包生成的文件。执行如下命令:
  [root@bogon local]# mkdir gcc-build-10.1.0
  [root@bogon local]# cd gcc-build-10.1.0
 
  由此,我们在 /usr/local 目录下手动创建了名为 gcc-build-10.1.0 的目录文件,并进入到该目录中。
 
  同时,由于 GCC 编译器支持多种编程语言的编译,而实际情况中我们可能只需要编译 1~2 种编程语言,因此需要对其进行必要的配置。通过执行如下指令,可以配置 GCC 支持编译 C 和 C++ 语言:
  [root@bogon gcc-build-10.1.0]# ../gcc-10.1.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
 
  有关 configure 后跟的各个参数的含义,读者仅需要了解 --enable-languages 用于设定 GCC 编译器支持编译的编程语言的类别,例如 c、c++、java、objc、obj-c++、go 等。
 
 
  5) 在第 4 步创建好 makefile 文件之后,接下来就可以使用 make 命令来编译 GCC 源程序:
  [root@bogon gcc-build-10.1.0]# make
 
  注意,编译过程是非常耗时的(本机耗时 6 小时完成编译),因此如果读者选用此方式安装 GCC,则在执行 make 命令时一定要安排合适的时间。
 
  6) 最后,执行如下命令安装 gcc:
  [root@bogon gcc-build-10.1.0]# make install
 
 
  7) 由此就成功安装了 10.1.0 版本的 GCC 编译器。需要注意的是,如果此时读者直接执行 gcc --version,则 gcc 版本仍会显示之前安装的版本。操作系统重启之后,GCC 版本就会自行更正过来。
 
  重启操作系统之后,执行 gcc --version 命令,如果看到如下输出结果,则证明安装成功:
  [root@bogon ~]# gcc --version
  gcc (GCC) 10.1.0
  Copyright (C) 2020 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.
 
  注意,本节是以 CentOS 操作系统为例,演示安装 GCC 编译器的具体过程,但实际上,此过程也完全适用于其它 Linux 发行版,只是在个别细节上(比如使用 yum 还是 apt 有或是其他软件包管理器),读者需要灵活调整,将其修改为自己所用操作系统支持的指令。

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!