CentOS6.5升级手动安装gcc4.8.2
一、简易安装
操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2
不能通过yum的方法升级,需要自己手动下载安装包并编译
1.1 获取安装包并解压
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
tar -jxvf gcc-4.8..tar.bz2
当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有4.9.2啦.
1.2 下载供编译需求的依赖项
参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。
cd gcc-4.8.
./contrib/download_prerequisites
1.3 建立一个目录供编译出的文件存放
mkdir gcc-build-4.8.
cd gcc-build-4.8.
1.4 生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
1.5 编译(注意:此步骤非常耗时)
make -j4
-j4选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。
我在安装此步骤时候出错,错误描述:
compilation terminated.
make[]: *** [_gcov_merge_add.o] 错误
make[]: Leaving directory `/home/imdb/gcc-4.8./gcc-build-4.8./x86_64-unknown-linux-gnu//libgcc'
make[]: *** [multi-do] 错误
make[]: Leaving directory `/home/imdb/gcc-4.8./gcc-build-4.8./x86_64-unknown-linux-gnu/libgcc'
make[]: *** [all-multi] 错误
make[]: *** 正在等待未完成的任务....
make[]: Leaving directory `/home/imdb/gcc-4.8./gcc-build-4.8./x86_64-unknown-linux-gnu/libgcc'
make[]: *** [all-stage1-target-libgcc] 错误
make[]: Leaving directory `/home/imdb/gcc-4.8./gcc-build-4.8.'
make[]: *** [stage1-bubble] 错误
make[]: Leaving directory `/home/imdb/gcc-4.8./gcc-build-4.8.'
make: *** [all] 错误
大概看看,错误集中在 x86_64unknown-linux-gnu/32/libgcc 和 x86_64-unknown-linux-gnu/libgcc
根据参考文献[3],安装如下两个软件包(仅用于CentOS6.X):
sudo yum -y install glibc-devel.i686 glibc-devel
过程中CPU基本满载:
1.6、安装
sudo make install
二、验证安装
重启,然后查看gcc版本:
gcc -v
尝试写一个C++11特性的程序段 tryCpp11.cc,使用了shared_ptr
//tryCpp11.cc
#include <iostream>
#include <memory> int main()
{
std::shared_ptr<int> pInt(new int());
std::cout << *pInt << std::endl;
return ;
}
验证文件:
g++ -std=c++ -o tryCpp11 tryCpp11.cc
./tryCpp11
三、其他安装:
- 在Ubuntu机器上安装:参考文献[3]
- 非简易安装:参考文献[4]
- 多个gcc版本共存问题:暂无
四、参考文献
[1] 参考的主要安装步骤 http://www.cnblogs.com/ytjjyy/p/4008096.html
注:这篇文章的后半部分解决动态库的方法非常有用处
[2] make -j4的讨论 http://stackoverflow.com/questions/15289250/make-j4-or-j8
[3] libgcc报错 http://argcv.com/articles/2946.c/comment-page-1
注:这篇文章提供了Ubuntu12.04上gcc4.7的安装方法
[4]非简易安装 http://my.oschina.net/u/728245/blog/184550 另一个:图文版本
最新文章
- Android—实现自定义相机倒计时拍照
- 分享给大家的CSS书写规范、顺序
- reactjs学习一(环境搭配react+es6+webpack热部署)
- 设计模式:模版模式(Template Pattern)-转
- 用SPCOMM 在 Delphi中实现串口通讯 转
- Android——ProgressDialog 进度条对话框
- MySql安装时在Start Service处失败
- Matlab编程实例(1) 移动平均
- javascript 笔记(待续)
- PAT-乙级-1012. 数字分类 (20)
- 绘图quartz之加水印
- android Fragment 用法小结
- 禅道SQA
- Codeforces Round #545 (Div. 2)-Camp Schedule
- jenkins配置自动发送邮件,抄送
- [转] 为什么javascript是单线程的却能让AJAX异步调用?
- 2019.01.02 洛谷P4512 【模板】多项式除法
- crm操作产品实体
- Centos下安装gcc
- sencha touch 2.3.1 list emptyText不显示