Linux升级安装GCC G++ 6.2

版权声明:来自http://furzoom.com/ 欢迎转载,但请注明作者及出处。 https://blog.csdn.net/himayan46/article/details/53322510

使用yum安装是不可能了,各大仓库也没有,只能自己编译安装了。

系统为CentOS 6.5,gcc为4.4.7

1 下载源代码包

当前最新版为6.2:

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

也可以自行下载其他版本http://ftp.gnu.org/gnu/gcc

2 解压

tar jxf gcc-6.2.0.tar.bz2

3 下载编译依赖

cd gcc-6.2.0

./contrib/download_prerequisites

经过漫长的等待,速度太慢了~

4 生成Makefile文件

先建一个编译的目录

mkdir gcc-build-6.2.0

cd gcc-build-6.2.0/

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

5 编译

make -j4

4表示使用4个核心,根据你的CPU来指定。也可不指定任何参数。

6 安装

sudo make install

7 验证

gcc -v

还有原来的版本,重启后,再验证OK

8 测试

写个测试的程序测试一下:

g++ -std=c++11 -o testCpp11  testCpp11.cpp

顺利编译成功,执行./testCpp11提示:

./testCpp11: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./testCpp11)

./testCpp11: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./testCpp11)

./testCpp11: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./testCpp11)

看来动态库并没有更新。

9 更新动态库

查看动态库的版本:

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

GLIBCXX_3.4

GLIBCXX_3.4.1

GLIBCXX_3.4.2

GLIBCXX_3.4.3

GLIBCXX_3.4.4

GLIBCXX_3.4.5

GLIBCXX_3.4.6

GLIBCXX_3.4.7

GLIBCXX_3.4.8

GLIBCXX_3.4.9

GLIBCXX_3.4.10

GLIBCXX_3.4.11

GLIBCXX_3.4.12

GLIBCXX_3.4.13

确实没有更新,默认情况下,会安装在如下目录:

/usr/local/lib64/libstdc++.so.6.0.22

简单了,将原来的库替换为上面的就可以了:

rm -rf /usr/lib64/libstdc++.so.6

ln -s /usr/local/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6

然后再查看动态库的版本:

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

结果

GLIBCXX_3.4.22

这就是刚刚安装的版本,再执行一下测试程序./testCpp11,成功!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容