007 Linux下编译安装GCC-7.2.0

相关参考:
centos6.6 安装gcc 5.2.0 设置g++ 支持c++ 11特性
http://blog.csdn.net/xiaolongwang2010/article/details/47708913

Centos7编译安装GCC7.2
http://blog.csdn.net/hificamera/article/details/77366931


1、安装gcc相关的基本编译工具
yum install gcc gcc-c++ glibc-static –y

2、下载、编译、安装方式一:
下载链接:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.xz(清华大学开源软件镜像站)

步骤:
cd          #进入家目录
wget  https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.xz  #下载源码包
tar -xvf gcc-7.2.0.tar.xz   #解压
cd gcc-7.2.0/
./contrib/download_prerequisites  #下载相关依赖
./configure --prefix=/usr --enable-languages=c,c++ --disable-multilib   #安装路径在/usr下,与通过yum安装位置一致,不好管理,可通过yum安装其他版本来覆盖。
make -j4  #  4个线程同时编译,等50分钟左右 。
sudo make install  #安装

3、下载、编译、安装方式二:
到清华大学开源软件镜像站里gun目录下找gcc、gmp、mpfr、mpc源码包
gmp-6.1.2.tar.xz   下载地址: https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.1.2.tar.xz
mpfr-3.1.6.tar.xz   下载地址: https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-3.1.6.tar.xz
mpc-1.0.3.tar.gz  下载地址:  https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.0.3.tar.gz
gcc-7.2.0.tar.xz     下载地址: https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.xz

1)安装gmp-6.1.2
cd
wget  -c  https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.1.2.tar.xz
tar xvf gmp-6.1.2.tar.xz
cd gmp-6.1.2/
mkdir build
cd build/
../configure --prefix=/usr/local/gcc/gmp-6.1.2
make -j2
make install
cd
rm -rvf  gmp-6.1.2/   #安装后删除

2)安装mpfr-3.1.6  (最新4.0,但与其他包冲突)
cd
wget  -c https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-3.1.6.tar.xz
tar xvf mpfr-3.1.6.tar.xz
cd mpfr-3.1.6/
mkdir build
cd build/
../configure --prefix=/usr/local/gcc/mpfr-3.1.6 --with-gmp=/usr/local/gcc/gmp-6.1.2
make  -j2
make install
cd
rm -rvf  mpfr-3.1.6/

3)安装mpc-1.0.3
cd
wget  -c  https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.0.3.tar.gz
tar  zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3/
mkdir build
cd build/
../configure --prefix=/usr/local/gcc/mpc-1.0.3  --with-mpfr=/usr/local/gcc/mpfr-3.1.6  --with-gmp=/usr/local/gcc/gmp-6.1.2
make  -j2

make install

cd

rm -rvf  mpc-1.0.3/


4)安装gcc-7.2.0
wget -c  https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.xz
tar  xvf gcc-7.2.0.tar.xz  
cd gcc-7.2.0/
mkdir build
cd build/
../configure --prefix=/usr/local/gcc/gcc-7.2.0  --enable-threads=posix   --disable-checking   --enable-languages=c,c++ --disable-multilib  --with-gmp=/usr/local/gcc/gmp-6.1.2  --with-mpfr=/usr/local/gcc/mpfr-3.1.6  --with-mpc=/usr/local/gcc/mpc-1.0.3
make    #不要用多核编译,电脑性能不好的容易编译一半出错。
make install
cd
rm -rvf  gcc-7.2.0/


5)完善配置
修改默认版本
gcc -v   # 得到旧版为gcc-4.8.5
mv /bin/gcc  /bin/gcc-4.8.5
mv /bin/g++  /bin/g++-4.8.5

链接到新版本
ln -svf  /usr/local/gcc/gcc-7.2.0/bin/gcc  /bin/gcc
ln -svf  /usr/local/gcc/gcc-7.2.0/bin/g++  /bin/g++

如不需要旧版可使用yum卸载:
yum remove gcc gcc-c++

添加man帮助:vi /etc/man.config,添加gcc的man路径到配置文件中:
MANPATH /usr/local/gcc/gcc-7.2.0/share/man
保存退出即可生效,可使用man gcc查看帮助

添加共享库路径,编辑ld.so.conf文件:vi /etc/ld.so.conf
添加如下内容到文件中:
/usr/local/gcc/gmp-6.1.2/lib
/usr/local/gcc/mpfr-3.1.6/lib
/usr/local/gcc/mpc-1.0.3/lib
/usr/local/gcc/gcc-7.2.0/lib

保存退出,执行ldconfig命令

6)更新动态链接库版本
查看原来版本:
ls -al /lib64/libstdc++.so.6
strings /lib64/libstdc++.so.6 | grep GLIBCXX

查看新安装版本:
ls -al  /usr/local/gcc/gcc-7.2.0/lib64/ | grep libstdc++.so.6
我安装的gcc-7.2.0对应版本为:libstdc++.so.6.0.24

更新版本:
cp  /usr/local/gcc/gcc-7.2.0/lib64/libstdc++.so.6.0.24   /lib64/
ln -svf  /lib64/libstdc++.so.6.0.24   /lib64/libstdc++.so.6

确认更新结果:
strings /lib64/libstdc++.so.6 | grep GLIBCXX

4、设置gcc-7.2.0 支持c++ 11
在编译选项中加  -std=c++0x –Wall  或者  -std=c++11
g++ test.cpp -o test.out -std=c++0x -Wall

最后那个是编译警告,初学打开比较好
gcc目前需要添加-std=c++0x 才能顺利编译c++11新特性
或者用alias

对当前系统下次重启前 临时生效:
alias g++=’g++ -std=c++0x’

 或者想让它永久生效,则写入/etc/bashrc 文件中
vim /etc/bashrc,添加:
alias g++=’g++ -std=c++0x –Wall’


附:源码包解压缩指令
解压指令:
所有格式可直接如下方式解压:tar   -xvf   xx.tar.xx   -C  目标路径
tar.gz     格式解压为          tar   -zxvf   xx.tar.gz
tar.bz2   格式解压为          tar   -jxvf    xx.tar.bz2
tar.xz      格式解压为          tar   -Jxvf   xx.tar.xz

压缩指令:
tar   -zcvf   xx.tar.gz            压缩打包为    tar.gz     格式        
tar   -jcvf   xx.tar.bz2          压缩打包为    tar.bz2   格式        
tar   -Jcvf   xx.tar.xz            压缩打包为    tar.xz      格式   


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值