CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update....   yum install  或者 添加yum 的 repo 文件 也不行, 只能更新到 4.4.7! then,  只能手动编译安装了,那么开始第一步下载源代码吧,GO! 1、 获取安装包并解压 wget http://ftp.gnu.o

---恢复内容开始---

CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0)

没有便捷方式,

yum update.... yum install

或者 添加yum 的 repo 文件 也不行,只能更新到 4.4.7!

then,只能手动编译安装了,那么开始第一步下载源代码吧,GO!

1、 获取安装包并解压

wgethttp://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2

tar -jxvfgcc-6.1.0.tar.bz2

当然,http://ftp.gnu.org/gnu/gcc里面有所有的gcc版本供下载,最新版本已经有6.1.0啦.

建议下载.bz2的压缩包,文件更小,下载时间更少.

2、 下载供编译需求的依赖项

文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

cd gcc-6.1.0

./contrib/download_prerequisites 

3、 建立一个目录供编译出的文件存放

@H_982_32@mkdir gcc-build-6.1.0

cd gcc-build-6.1.0

4、 @L_256_11@makefile文件

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

5、 编译

@H_982_32@make -j4

-j4选项是make对多核处理器的优化,如果不成功请使用@H_67_90@make,相关优化选项可以移步至参文献[2]。

(注意:此步骤非常耗时,我虚拟机耗时近3小时; 实体机近80分钟,cpu基本是满的,内存也使用不少)

6、 安装

@H_982_32@make install

(安装需要root权限!)

查看安装

ls /usr/local/bin | grep gcc

7、重启,然后查看gcc版本

gcc -v

8、写个C++11 特性的程序段测试

tryCpp11.cc代码省略....

g++ -std=c++11 -o tryCpp11 tryCpp11.cc

9、升级gcc生成的动态库没有替换老版本gcc的动态库

源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题。这是因升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决

9.1运行以下命令检查动态库:

Strings /usr/lib64/libstdc++.so.6 | grep GLIBC

输出可以看出gcc的动态库还是旧版本的。说明出现这些问题,是因升级gcc时,生成的动态库没有替换老版本gcc的动态库。

9.2执行以下命令,查找编译gcc生成的最新动态库:

find / -name "libstdc++.so*"

将上面的最新动态库libstdc++.so.6.0.22复制到/usr/lib64目录下

cd/usr/lib64

cp /root/Downloads/gcc-6.1.0/gcc-build-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 ./

9.3删除原来软连接:

rm -rf libstdc++.so.6

9.4将认库的软连接指向最新动态库:

ln -s libstdc++.so.6.0.22 libstdc++.so.6

9.5认动态库升级完成。重新运行以下命令检查动态库:

Strings /usr/lib64/libstdc++.so.6 | grep GLIBC

可以看到 输出有"GLIBCXX_3.4.21" 了

[注:摘抄自http://www.linuxidc.com/Linux/2015-01/112595.htm,http://itbilu.com/linux/management/NymXRUieg.html,原作者编译有出错过,但是我编译没有出错]

[参1:http://www.tuicool.com/articles/FVN7jez]

[参2:http://blog.chinaunix.net/uid-14735472-id-5546560.html]

大佬总结

以上是大佬教程为你收集整理的CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)全部内容,希望文章能够帮你解决CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。