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. ...
随机推荐
- CSS3 动画
通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. CSS3 动画 CSS3 @keyframes 规则 如需在 CSS3 中创建动画, ...
- php递归获取顶级父类id
php递归获取顶级父类id function get_top_parentid($id){ $r = M('navclass')->where('id = '.$id)->field('i ...
- Servlet生命周期
初始化:正常情况下,一个Servlet程序在第一次运行时才进行初始化. 刷新只会刷新服务,并没有初始化 销毁:1,容器关闭 2,一个servlet长期不适用 3,开发过程中的reload操作 对 ...
- java文件下载,上传,解压方法
1.文件下载(亲测可用) private static final int BUFFER = 2 * 1024;// 缓冲区大小(2k)private boolean isSuccess = true ...
- jQuery的封装方式与JS中new的实现原理
function jQuery() { return new jQuery.fn.init(); } jQuery.fn = jQuery.prototype = { init: function() ...
- &与&&,|与||
http://bokeid.blog.163.com/blog/static/93102786201181710259178/ &&:逻辑运算符,连接两个或多个表达式,结果为TRUE或 ...
- C++标准库 -- tuple
头文件:<tuple> 可访问属性: 无(用get方法来访问数据) 可访问方法: swap(tuple) 和另外一个tuple交换值 其他相关方法: swap(t1, t2) 交换两个tu ...
- Unity学习疑问记录之触屏
当将Unity游戏运行到ios或android设备上时,桌面系统中的鼠标左键操作可以自动变为手机屏幕上的触屏操作,但鼠标操作无法实现一些特有的触屏操作,比如多点触屏. 触控对于Android移动设备来 ...
- 如何Recycle一个SharePoint Web Application,以及为什么
当你发现SharePoint服务器的CPU或者内存使用率居高不下的时候,很多人都会选择iisreset来让资源使用率降下来.但是在企业环境中,这毫无疑问会使这台服务器中断服务从而影响到用户的使用,所以 ...
- PyInstaller打包步骤简记
pyinstaller 下载地址:http://www.pyinstaller.org/ 下载后用cmd进入解压文件夹 python setup.py install 安装. 最近用pyinstall ...