CentOS7安装gcc6.3

因为最近在Linux下编写一个项目,用到了c++11相关的一些功能,但是centos目录yum只能安装到gcc的最新版本4.4.7,但是只有4.8才开始支持c++11功能,所以就安装一个最新版本的gcc来使用。

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

 

C++

 

1

2

3

yum install mpfr

yum install gmp

yum install *mpc*

 

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

 

C++

 

1

2

3

4

yum install glibc-static libstdc++-static

yum install gcc

yum install gcc-c++

yum install wget

 

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

 

C++

 

1

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

 

4.解压

 

C++

 

1

tar -xf gcc-6.3.0.tar.gz

 

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

 

C++

 

1

./contrib/download_prerequisites

 

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

 

C++

 

1

2

3

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线程去编译,也可以不用)

 

C++

 

1

make -j4

 

在make的途中还出错了一次,是因为swap空间不足导致的,所以就创建了一个3G的swap分区才编译成功。

 

Shell

 

1

2

3

4

5

6

dd if=/dev/zero of=/swapfile bs=1024k count=3072

mkswap -f /swapfile

swapon /swapfile

vi /etc/fstab

#在文件最后加入下面这行  开机启用

/swapfile swap swap defaults 0 0

可以使用free命令查看创建的swap分区。

8.安装

 

C++

 

1

make install

 

9.然后替换老的gcc文件

 

C++

 

1

2

3

4

5

6

7

8

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/cc /usr/bin/cc

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

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

 

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

 

C++

 

1

2

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值