本次安装针对CentOS 6.5 64位系统,由于在安装系统的时候并没有勾选安装gcc编译器,因此需要自行安装gcc编译器。

使用yum安装gcc

对于配备了yum的Linux发行版而言,安装gcc编译器就变得so easy。我们只需要分别执行如下命令即可:

#安装gcc、c++编译器以及内核文件

yum -y install gcc gcc-c++ kernel-devel

自行安装gcc

不过使用yum安装的gcc并非当前的最新版本,目前gcc的最新版本为4.9.0(gcc 4.8开始全面支持C 11和C++ 11的新特性)。如果我们想要安装最新版本的gcc,那么就需要自行安装gcc。

笔者初次安装gcc时,在网络上搜寻了大量的gcc安装配置教程,许多教程的内容非常之多,结果把自己搞晕了,编译安装的时候还老是出现各种错误。最后查阅官方文档才发现,自行安装新版本的gcc并不复杂,根本没有那些教程中说的那样繁琐(有些教程居然还要修改几个配置文件)。

1、下载gcc安装文件

在安装gcc当然要先拿到gcc的安装文件。在这里我们直接通过官方下载gcc-4.9.0.tar.bz2(86 MB)。当然,你也可以下载gcc-4.9.0.tar.gz(110 MB),不过该压缩文件要大出不少。

2、编译前的准备工作

想要安装gcc 4.8及以上版本,你需要先安装C标准库和头文件,以及旧版本的c++编译器。如果你的计算机中没有这些,请执行以下命令(当然你也可以使用apt-get等其它方式进行安装,如果已经安装则无需再次安装):

#安装C和C++的静态库

yum install -y glibc-static libstdc++-static

#安装旧版本的gcc、c++编译器

yum install gcc gcc-c++

在这里,我们将gcc-4.9.0.tar.bz2解压到/usr/local/src目录中(当然你也可以指定其他目录),完整的tar命令为:

#解压gcc安装文件

tar jxf gcc-4.9.0.tar.bz2 -C /usr/local/src

解压后gcc源程序的根目录就是/usr/local/src/gcc-4.9.0。接着,我们依次执行如下命令:

#转到gcc源程序根目录

cd /usr/local/src/gcc-4.9.0

#下载一些必备的依赖程序

./contrib/download_prerequisites

安装gcc需要下载诸如gmp、mpfr、mpc等依赖文件,执行download_prerequisites将会自动下载这些软件并解压到当前目录(文件不大,总共只有几MB,请耐心等待下载)。

3、编译安装gcc

接着,就可以对gcc进行编译安装了。在此之前,我们先创建一个目录/usr/local/build/gcc-4.9.0(你也可以自行指定其他目录)用于存放编译后的程序文件。然后我们依次执行如下命令:

#跳转到编译后的程序文件存放目录

cd /usr/local/build/gcc-4.9.0

#调用gcc源程序的configure(后面的参数选项可根据需要自行修改),用于配置gcc

/usr/local/src/gcc-4.9.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

#编译gcc源程序

make

#安装gcc

make install

其中执行make命令这一过程耗费的时间可能非常多,笔者这里耗费了20多分钟才编译完成。执行完上述命令后,我们的gcc就已经安装成功了。 与其他教程不同的是,本教程并没有对gmp、mpfr、mpc等软件分别进行解压和编译,而是直接由download_prerequisites负责下载并解压,最后和gcc一起进行编译安装,这也是官方推荐的做法(download_prerequisites还会根据实际情况决定是否启用Graphite循环优化)。 如果你的Linux无法直接联网,那么你只能打开文件download_prerequisites,获取到这些文件的下载链接,然后通过其他上网设备下载这些软件。最后把这些软件直接解压到gcc源程序目录(/usr/local/src/gcc-4.9.0)下即可。

linux编译器6,Linux安装gcc编译器详解(CentOS 6.5 64位系统)相关推荐

  1. linux dig命令的安装和使用详解

    linux dig命令的安装和使用详解 什么是dig命令 Dig是Domain Information Gopher的缩写,是一种DNS查找实用程序,用于探测DNS服务器并解决与DNS服务器相关的问题 ...

  2. Linux kail环境下安装pyrit 问题详解

    Linux kail2021环境下手动安装pyrit问题详解 周末花了两天搭建环境,利用pyrit做无线安全实验.在网上转了一圈,发现没有完整能解决手动安装pyrit问题的文章.所以自己安装完后做了一 ...

  3. CentOS 6.7 64位系统镜像下载及安装

    1.Centos 6.7镜像下载地址:https://pan.baidu.com/s/1CtYbpAaTUVa2hWn-8JGzHg  提取码:8888 2.CentOS 6.7安装参考链接: ①链接 ...

  4. linux下easy_install的安装与使用详解

    Python中的easy_install工具用起来非常好用,它的作用类似于Php中的pear,或者Ruby中的gem,或者Perl中的cpan. 1.easy_install安装 如果想使用easy_ ...

  5. Linux学习笔记之安装mplayer过程详解

    1. 安装code tar xjvf all-20050412.tar.bz2 mv all-20050412 /usr/lib/codes chmod 644 /usr/lib/codes/* ch ...

  6. VMware 下 Linux 利用虚拟光驱安装 VMware Tools 详解

    我用的Linux系统是Fedora,刚学Linux,好多东西还不会,昨晚因为需要在主机系统window 7和虚拟系统Fedora之间copy或托拉文件,为此需要在虚拟机系统Fedora上安装Vmwar ...

  7. php redius,Linux下Redius的安装与部署详解

    1.下载源代码 下载redis-1.2.6.tar.gz 将下载包拷贝到/usr/local/webserver/redis-1.2.6/下 2.安装 tar -zxvf redis-1.2.6.ta ...

  8. centos linux下vnc server远程桌面配置详解,CentOS 6.0 VNC远程桌面配置

    引言: 必须明白: vncserver在调用的时候,会根据你的配置来启用server端的监听端口, 端口默认是从5900开始,再加上你的桌面号. 比如你的桌面号为1,则vnc的连接端口号为5900+1 ...

  9. linux服务器网卡重启后会还原,详解CentOS重启后resolv.conf被重置的解决方案

    近期在修改一台CentOS服务器的dns时发现只要重启服务器DNS就会被强制还原,解决方案如下: 1.首先在网卡设置中修改NM_CONTROLLED的值: 修改文件/etc/sysconfig/net ...

最新文章

  1. 研究生扩招,数据发现清华北大本科生毕生后几乎没人找工作!
  2. python到底可以做什么-Python究竟是什么?能干嘛?
  3. 不抛弃,不放弃@《士兵突击》
  4. libmysqld_dev linux,Linux下python玩转MySQLdb
  5. 仿真器和模拟器的区别是什么?
  6. css案例学习之id要唯一
  7. native关键字(涉及本地方法栈)
  8. 二叉树类图_数据结构(十四)——二叉树
  9. Python基础-序列化(json/pickle)
  10. checksum建立的索引
  11. 计算机二级c语言的书籍,全国计算机二级c语言
  12. COGS 2507 零食店
  13. win10写java工具_推荐三款录屏工具:也许是电脑录屏最实用的软件
  14. sketch插件 android,用这个免费的Sketch插件,帮你完美还原安卓界面!
  15. linux vnc共享时权限设置,用VNC实现远程桌面共享(支持Windows, Linux, ...) - 易水博客...
  16. 计算机应用程序通过文件打不开,应用程序打不开|exe文件关联修复器|打开方式还原 - 所有应用程序文件打不开的解决方法 - 安全专题...
  17. 几种不同的方式用Python连接数据库
  18. 七周成为数据分析师 | 统计学
  19. 《神奇的数学》读后感_《走进奇妙的数学世界》读后感
  20. 如何打印pmd和*pmd的值

热门文章

  1. TCP为什么需要三次握手
  2. MFC单文档框架编程(三): CTabView的使用
  3. 基于机器学习的捡球机器人设计与实现(探索)第2篇——7步完成opencv的安装(20190112)
  4. php 回调通知 连连支付_php怎么写连连支付退款
  5. python获取机器唯一标识_python中uuid来生成机器唯一标识
  6. php 查找点,在多边形PHP中查找点
  7. labview在2048中添加时间滚动条_Axure 教程:不可见滚动条的页面滚动效果
  8. 字符串大小写互换方法
  9. 5区块链机会没有公司可以错失
  10. Linux MTD系统剖析【转】