CentOS手动编译安装gcc
最近尝试了fedora、ubuntu、mint、debian、opensuse等多种linux发行版,与CentOS比较之后还是感觉之前用的CentOS比较熟悉,比较习惯。现在CentOS的最新版本为CentOS7,由于实验室的电脑比较老,上这个64位的系统有点卡,所以只能退而求其次,用这个CentOS6.6了。。。
CentOS自带的gcc工具版本为4.4.7,这和CentOS6用的linux内核一样,都是属于古董级别的版本了。这个版本对c++11的支持并不友好,就萌生了升级gcc的想法,但是用yum update gcc却检测不到新版本的gcc。想用高版本的gcc,又没条件升级系统,无奈之下,只能选择在老版本上手动编译安装最新版本的gcc了。
1.首先,从下面网站中下载想要安装的gcc:
现在最新的gcc版本为gcc-5.3,鉴于习惯,还是不太喜欢最新版本的软件,就下载了gcc-4.9.3。
2.解压该文件:tar xjvf gcc-4.9.3.tar.bz2
3.进入解压完成的目录,执行如下命令:
./contrib/download_prerequisites
由于新版本的gcc需要更新的各种依赖库和配置,如果手动挨个下载实在麻烦,而且还可能遇到很多问题,所以gcc开发者为我们提供了这么一个配置脚本,只要执行,就可以自动下载需要的文件了。可以vim一下该文件内容,主要就是下载各种依赖包。
4.为了存放编译期间产生的中间文件,我们建立一个文件夹存放这些文件,执行命令:
mkdir gcc-build-4.9.3
5.进入该文件夹,执行如下命令,来产生makefile文件:
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
注意最开始是 ../ 而不是 ./ !
6.命令完成后,就可以编译新版本的gcc了,执行make命令,等待即可,该过程根据不同机器配置,等待的时间也不一样,在我的电脑上运行了接近 2 个小时之久。。。。。。。
如果电脑是多核电脑,想要提高编译速度,可以执行make -jx。其中的x为你cpu的核数。但是这样执行有可能会产生错误,如果产生了错误,就直接make吧。。。
7.编译完成,就可以安装了,执行 make install 命令,等待安装完成
8.安装完成后,重启,gcc -v 查看版本,就发现新的gcc生效了。写一个小程序验证一下,如果程序中调用了c++11特性,编译时需要加入选项:
g++ -std=c++11 test.cpp -o test
CentOS手动编译安装gcc的更多相关文章
- 转:在CentOS下编译安装GCC
转:https://teddysun.com/432.html 在CentOS下编译安装GCC 技术 秋水逸冰 发布于: 2015-09-02 更新于: 2015-09-02 6519 次围观 ...
- centos手动编译安装apache、php、mysql
64位centos 5.5手动安装lamp,要求curl.json.pdo_mysql.gd,记录如下. centos 5.4.5.5.5.6的内核都是2.6.18,都可以安装php 5.3. 卸载旧 ...
- Centos手动编译安装vim8
系统:CentOs6.9 gcc版本:5.1.0 github上拉取vim工程之后,cd src,执行一下命令: $ ./configure $ sudo make gcc -c -I. -Iprot ...
- 如何在Linux下手动编译安装gcc
如果可以通过apt来安装的话,尽量不要手工编译了,手工编译是最后的选择.用apt安装,只需要输入一条命令: sudo apt-get install gcc 手工编译的话,gcc和其他软件包存在如下的 ...
- CentOS6.5升级手动安装GCC4.8.2 与 CentOS 6.4 编译安装 gcc 4.8.1
http://blog.163.com/zhu329599788@126/blog/static/6669335020161179259975 http://www.cnblogs.com/codem ...
- 在CentOS 6.4中编译安装gcc 4.8.1
在CentOS 6.4中编译安装gcc 4.8.1 分类: C/C++ Linux/Unix2013-11-28 21:02 1877人阅读 评论(0) 收藏 举报 原文链接:http://www.c ...
- CentOS 6.4中升级编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 以及Kdump配置
在CentOS 6.4中编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 今天在isocpp上看到"GCC 4.8.1 released, C++11 feature ...
- CentOS编译安装GCC 4.9.2成功
在Linux上编译安装gcc是个寻烦恼的活,对于像我这样习惯于在Windows上面使用二进制安装包的人来说,自已编译安装gcc是个相当大的挑战,今天直接挑战最新版的gcc,是4.9.2版本的,做之前查 ...
- LNAMP服务器环境搭建(手动编译安装)
LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...
随机推荐
- python语句
print语句 print函数中使用逗号输出多个表达式,打印的结果之间使用空格隔开. >>> ') name: zyj age: 24 >>> print(1,2, ...
- Jackson学习资料
Jackson JSON Processor Wiki Documentation for the Jackson JSON processor Jackson Tutorial by StudyTr ...
- 指针与数组的区别 —— 《C语言深度剖析》读书心得
原书很多已经写的很清楚很精炼了,我也无谓做无意义的搬运,仅把一些基础和一些我自己以前容易搞混的地方写一下. 1. 意义: 指针: 指针也是一种类型,长度为4字节,其存放的内容只能是一个地址(4字节). ...
- C# TransactionScope 使用
注意: Windows 服务中,开启Distributed Transaction Coordinator 服务. using (var scope = new TransactionScope()) ...
- 给备战NOIP 2014 的战友们的10条建议
应老胡要求,要写10条建议= = begin 1. 注意文件关联 比如 halt 前要close(input); close(output); 还有就是一定要打这两句话= = 2. 快排,大家都懂得. ...
- PDMS模型导出RVM格式
2 .将PDMS中对象模型导出为RVM格式的宏文件代码如下: eg:如果要导出某几个房间内的全部bran equi !strus = array()!strus.append(|/1RXR246ZL| ...
- NorthWind 数据库整体关系
http://blog.csdn.net/bergn/article/details/1502150 今天看到一张非常有用的图,说明有关Northwind数据库整体关系的图,以前一直在用,但是没有一个 ...
- C# 的一些语法特性
1.? -NullableC# 里像int,bool,double 这样的struct和enum类型都不能为null.如果确实想在值域上加上null的话,Nullable就派上用场了.T?是Nulla ...
- 远程连接服务器for Linux
远程连接Linux云服务器-命令行模式 1.远程连接工具.目前Linux远程连接工具有很多种,您可以选择顺手的工具使用.下面使用的是名为Putty的Linux远程连接工具.该工具是免费的,且不需要安装 ...
- php面试题
1.用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分) <?php date_default_timezone_set('Asia/shanghai'); echo d ...