CentOS 6.5 升级gcc到4.8 以及libstdc++
CentOS 6.5 自带gcc太旧不支持c11, 升级到4.8的步骤:
贴一下步骤: 一、简易安装 操作环境 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.2.tar.bz2
当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有4.9.2啦. 1.2 下载供编译需求的依赖项
参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。
cd gcc-4.8.0 ./contrib/download_prerequisites 1.3 建立一个目录供编译出的文件存放
mkdir gcc-build-4.8.2
cd gcc-build-4.8.2 1.4 生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib 1.5 编译(注意:此步骤非常耗时)
make -j4
-j4选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。
我在安装此步骤时候出错,错误描述: `compilation terminated. make[5]: * [_gcov_merge_add.o] 错误 1 make[5]: Leaving directory
/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/32/libgcc’
make[4]: * [multi-do] 错误 1 make[4]: Leaving directory
/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc’
make[3]: * [all-multi] 错误 2 make[3]: * 正在等待未完成的任务….
make[3]: Leaving directory
/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc’
make[2]: * [all-stage1-target-libgcc] 错误 2 make[2]: Leaving
directory/home/imdb/gcc-4.8.2/gcc-build-4.8.2’ make[1]: *
[stage1-bubble] 错误 2 make[1]: Leaving directory
/home/imdb/gcc-4.8.2/gcc-build-4.8.2’ make: * [all] 错误 2大概看看,错误集中在 x86_64unknown-linux-gnu/32/libgcc 和
x86_64-unknown-linux-gnu/libgcc
根据参考文献[3],安装如下两个软件包(仅用于CentOS6.X):
sudo yum -y install glibc-devel.i686 glibc-devel1.6、安装 sudo make install 二、验证安装 重启,然后查看gcc版本:
gcc -v 尝试写一个C++11特性的程序段 tryCpp11.cc,使用了shared_ptr
复制代码 1 //tryCpp11.cc 2 #include <iostream> 3 #include <memory> 4 5 int main() 6 { 7 std::shared_ptr<int>
pInt(new int(5)); 8 std::cout << *pInt << std::endl; 9
return 0; 10 } 复制代码 验证文件:
g++ -std=c++11 -o tryCpp11 tryCpp11.cc ./tryCpp11三、其他安装:
- 在Ubuntu机器上安装:参考文献[3] - 非简易安装:参考文献[4] - 多个gcc版本共存问题:暂无 四、参考文献 [1] 参考的主要安装步骤 http://www.cnblogs.com/ytjjyy/p/4008096.html 注:这篇文章的后半部分解决动态库的方法非常有用处
安装完后, 编译程序运行应该还是有 GLIBCXX not found的错误
解决方案:
http://blog.csdn.net/officercat/article/details/39519265
注意其中
$ cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64
$ rm -rf /usr/lib64/libstdc++.so.6
$ ln -s /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC
本人的计算机上不是20, 而是18
CentOS 6.5 升级gcc到4.8 以及libstdc++的更多相关文章
- CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update.... yum install 或者 添加y ...
- 【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
原文地址:https://www.cnblogs.com/lzpong/p/5755678.html 我这里是centos7 升级到gcc8.1,过程差不多,参考这篇文章,记录一下. ---原文--- ...
- Centos 6.5升级gcc : 源码安装 + rpm安装
1. 前言 采用Centos 6.5默认的gcc版本为4.4.7,不支持c++ 11,需要升级: 首先想到用yum命令:执行yum update gcc-c++或yum update g++ 显示没有 ...
- CentOS 6.9升级GCC至7.3.0版本
1.查看当前centos版本: cat /etc/redhat-release 2. 安装centos6.9默认的开发工具,包含gcc,g++,make等等一系列工具: yum groupinsta ...
- CentOS 6.5 升级 GCC 4.9.3
1. GUN官网下载源代码安装包: gcc-4.9.3.tar.gz 2. 解压安装包,并进入解压后的文件夹: tar -zxvf gcc-4.9.3.tar.gz 3. 使用压缩包中的工具下载依赖: ...
- 转载:Centos升级gcc
一.检查centos 里面是否安装了gcc g++ 输入命令:rpm -qa|grep gcc*有看到就出来gcc的东西就是装了没有的话就yum install gcc* -y 二.升级gcc 对于C ...
- Linux升级GCC
升级原因 测试需要使用DOClever,下载了最新的node8.11,运行node 时候报错 [root@app_test bin]# node www module.js:681 return pr ...
- CentOS 7 升级gcc/g++编译器
gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行.我的7.2的CentOS目前自带的gcc是4.8.5的,gcc从4.8之后开始支持C++11,但是鉴于现在C++14.C++17 ...
- centos 6升级 GCC 到4.8
centos 6升级 GCC 到4.8 安装最新版本的swoole 提示 pecl install swolle ... GCC 4.8 or later required. 首先想到的时候yum ...
随机推荐
- hdu5261单调队列
题意特难懂,我看了好多遍,最后还是看讨论版里别人的问答,才搞明白题意,真是汗. 其实题目等价于给n个点,这n个点均匀分布在一个圆上(知道圆半径),点与点之间的路程(弧长)已知,点是有权值的,已知,点与 ...
- 海康DS NVR播放URL规则
URL规定:rtsp://username:password@<address>:<port>/Streaming/Channels/<id>(?parm1=val ...
- java URI 编码解码
import java.io.UnsupportedEncodingException; /** * url转码.解码 */ public class UrlUtil { private final ...
- [haoi2014]穿越封锁线
这题需要注意的一点是射线法需要考虑边界,而且题目对边界的限制极为严格. dcmp(v[i%n].x-x)<=0&&dcmp(v[(i+1)%n].x-x)>0 dcmp(v ...
- Photoshop颜色通道实例
PHOTOSHOP学到这会儿,我们不得不来学学枯燥乏味的颜色理论了,因为如果再不学,就难以学下去了.眼下我们就遇到了难点:颜色通道.前面在初识通道的时候,我已经说过:当你打开一张照片(RGB模式)的时 ...
- LightOJ1214 Large Division —— 大数求模
题目链接:https://vjudge.net/problem/LightOJ-1214 1214 - Large Division PDF (English) Statistics Forum ...
- mac配置apache
http://www.cnblogs.com/snandy/archive/2012/11/13/2765381.html 用自带的 sudo apachectl -v sudo apachectl ...
- 整合kxmovie
下载后发现kxmovie 直接运行是不通的,上面我们已经处理了ffmpeg部分的内容.当然了先处理ffmpeg部分.然后再复制kxmovie/kxmovie到项目中导入相应的文件. 编译报错:UIim ...
- html5--3.8 input元素(7)
html5--3.8 input元素(7) 学习要点 input元素及其属性 input元素 用来设置表单中的内容项,比如输入内容的文本框,按钮等 不仅可以布置在表单中,也可以在表单之外的元素使用 i ...
- python学习笔记:第二天(运算符)
Python3 运算符 注:以下部分示例源自于http://www.runoob.com/ 1.算术运算符 假设变量a为10,变量b为20: 运算符 描述 实例 + 加 - 两个对象相加 a + b ...