CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CentOS升级gcc4.8.5大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

因项目编译需要用c++11,需要升级Centos的gcc版本到gcc4.8.5。 一.安装Centso开发工具   # yum groupinstall "Development Tools" 二.下载gcc4.8.5 下载地址:http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2 三.解压 #tar -jxvf gcc-4.8.5.tar.
@H_674_7@

因项目编译需要用c++11,需要升级Centosgcc版本到gcc4.8.5

一.安装Centso开发工具

# yum groupinstall "Development Tools"

二.下载gcc4.8.5

下载地址:http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2

三.解压

#tar -jxvf gcc-4.8.5.tar.bz2

四.执行命令,自动下载配置、依赖库

下载过程有点久,请蛋定。

# cd gcc-4.8.5

# ./contrib/download_prerequisites

五.建编译后的存放目录

# mkdir gcc-build-4.8.5

六.生成@H_226_17@makefile文件

# cd gcc-build-4.8.5

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

七.执行@H_226_17@make,耗时大约1h

# make

八.安装

# make install

九.重启,测试

# reboot //一定要重启

# gcc -v

# g++ -v


十.库升级

编译程序或运行其它程序时,有时会出现类似:

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

的问题。这是因升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决

1.检查

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

2.找到 gcc 4.8.5 最新的库文件

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

/usr/lib64/libstdc++.so.6.0.13
/usr/lib64/libstdc++.so.6/usr/lib/gcc/x86_64-redhat-linux/4.4.4/32/libstdc++.so/usr/lib/gcc/x86_64-redhat-linux/4.4.4/libstdc++.so/usr/lib/vmware-tools/lib64/libstdc++.so.6/usr/lib/vmware-tools/lib64/libstdc++.so.6/libstdc++.so.6/usr/lib/vmware-tools/lib32/libstdc++.so.6/usr/lib/vmware-tools/lib32/libstdc++.so.6/libstdc++.so.6/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyc/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyo/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.py/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyc/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyo/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.py/usr/local/lib64/libstdc++.so.6.0.19/usr/local/lib64/libstdc++.so.6/usr/local/lib64/libstdc++.so/usr/local/lib64/libstdc++.so.6.0.19-gdb.py
/opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19/opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so/opt/gcc-4.8.5/gcc-build-4.8.5/x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19/opt/gcc-4.8.5/gcc-build-4.8.5/x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/opt/gcc-4.8.5/gcc-build-4.8.5/x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so/opt/gcc-4.8.5/gcc-build-4.8.5/prev-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19/opt/gcc-4.8.5/gcc-build-4.8.5/prev-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/opt/gcc-4.8.5/gcc-build-4.8.5/prev-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so

上面粗体加黑libstdc++.so.6.0.19,就是目前4.8.5的新的库文件了。

3.复制这个库文件到指定目录,并修改软连接

# cp /opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19 /usr/lib64

# cd /usr/lib64

# rm libstdc++.so.6

# ln -s libstdc++.so.6.0.19 libstdc++.so.6

4.检查一遍

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

GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19

...

(完成)

大佬总结

以上是大佬教程为你收集整理的CentOS升级gcc4.8.5全部内容,希望文章能够帮你解决CentOS升级gcc4.8.5所遇到的程序开发问题。

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

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