CentOS6安装gcc6.3

1.先安装依赖库以下3个和isl(isl找不到)

yum install mpfr

yum install gmp

yum install *mpc*

2.安装c和c++的依赖库

yum install glibc-static libstdc++-static

yum install gcc

yum install gcc-c++

yum install wget

3.下载gcc最新版本6.3(可以从gcc官网找速度快的源下载)

进入一个日常保存软件安装包的位置下载文件。

wget http://mirrors.concertpass.com/gcc/releases/gcc-6.3.0/gcc-6.3.0.tar.gz

4.解压

tar -xf gcc-6.3.0.tar.gz

5.获取依赖库,再解压目录运行如下命令,会自动下载步骤1中安装的库和isl库

./contrib/download_prerequisites

6.配置,然后新建目录,在新目录编译,防止污染源码目录

mkdir gcc-build-6.3.0

cd gcc-build-6.3.0/

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

7.然后编译(j4,是用4线程去编译,也可以不用)

make -j4

如果你的机器没有4个核(逻辑核也行),最好不要用j4,这样反而会频繁地竞争核心,导致速度下降。

8.安装

make install

9.然后替换老的gcc文件

mv /usr/bin/gcc /usr/bin/gcc4.4.7

ln -s /usr/local/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g++4.4.7

ln -s /usr/local/bin/g++ /usr/bin/g++

mv /usr/bin/cc /usr/bin/cc4.4.7

ln -s /usr/local/bin/gcc /usr/bin/cc

mv /usr/bin/c++ /usr/bin/c++4.4.7

ln -s /usr/local/bin/c++ /usr/bin/c++

上面的命令用mv重命名了老的软连接文件,其实用rm删除也可以。还有要注意不要链接错文件,不然就没有用了。比如喵哥遇到错误:

                                                                    /bin/sh: cc: command not found

其实是因为链接出了错误:

ln -s /usr/local/bin/cc /usr/bin/cc

在 /usr/local/bin中是没有cc的,只有gcc。之前按照参考的博文设置的,后来遇到用cc编译文件才发现链接错了。

10.替换老的c++.so文件

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查找是否已经加入了新的库进去。

发布了55 篇原创文章 · 获赞 29 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/ruibin_cao/article/details/93380174