Ubuntu16.04下安装多版本gcc和g++教程

Ubuntu16.04 系统默认gcc 和g++版本为5.4.0,由于安装软件需要,gcc版本需要7.4 以上,因此安装gcc 7.5版本。参考链接:Ubuntu16.04下安装gcc-7.5.0教程
一、安装包准备

本地gcc7.5.0版本所需安装包如下:
gcc-7.5.0.tar.gz
gmp-6.1.0.tar.bz2
mpc-1.0.3.tar.gz
mpfr-3.1.4.tar.bz2
isl-0.16.1.tar.bz2

这几个安装包在国外网站下载速度很慢,用中国科学技术大学镜像下载地址速度很快的:

https://mirrors.ustc.edu.cn/gnu/

用如下命令分别下载:

wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
wget https://mirrors.ustc.edu.cn/gnu/gmp/gmp-6.1.0.tar.bz2
wget https://mirrors.ustc.edu.cn/gnu/mpc/mpc-1.0.3.tar.gz
wget https://mirrors.ustc.edu.cn/gnu/mpfr/mpfr-3.1.4.tar.bz2

isl-0.16.1.tar.bz2中国科学技术大学镜像网站没找到,连接到雅典国立技术大学下载:

wget http://ftp.ntua.gr/mirror/gnu/gcc/infrastructure/isl-0.16.1.tar.bz2

二、安装

具体安装命令如下:
#将所有安装包上传到Linux环境下,解压缩处理

tar -xvf gcc-7.5.0.tar.gz
cd gcc-7.5.0

分别把:gmp-6.1.0.tar.bz2、mpc-1.0.3.tar.gz、mpfr-3.1.4.tar.bz2、isl-0.16.1.tar.bz2上传到gcc7.5.0解压目录。

./contrib/download_prerequisites
cd …

#建立编译输出目录

mkdir gcc-build-7.5.0

#进入下面目录,执行命令,生成Makefile文件

cd gcc-build-7.5.0

#configure的最后一个参数是关闭32位库,只编译64位库,我的电脑是64位的。如果想要同时编译32位和64位,可以使用-enable-multilib

…/gcc-7.5.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

#执行命令进行编译,此处利用4个job,需编译时约40分钟,此值不宜设置过高(此处编译后报错,发现权限不够,修改权限为sudo,由于本人电脑可变为j8,因此指令修改为)

sudo make -j8

安装

sudo make install

安装成功,界面如下所示:
重点看安装路径
注意看安装路径,因为直接看其他人教程,发现新安装的gcc版本,实际上应该根据这个安装路径去修改相应指令。
安装完成后,系统现在带有gcc5.4版本和gcc7.5 版本。
根据安装去搜索gcc7的安装文件,如下图所示。图中可以看到并没有gcc-7文件,很多教程都写的是gcc-7,实际上应该根据查到的文件名称去修改相应指令。
gcc7在安装路径下的名字
查看是否安装成功,由于系统当前默认仍为gcc5.4版本,因此,直接使用指令查看gcc7版本:

/usr/local/bin/gcc  --version
/usr/local/bin/g++  --version

查看gcc7和g++7是否安装成功
使用指令:

ll /usr/bin/gcc*
ll /usr/bin/g++*

结果为:查看默认gcc文件使用指令查看gcc7

ll /usr/local/bin/gcc*
ll /usr/local/bin/g++*

结果为:
gcc7文件列表
gcc7.5 安装成功后,使用update-alternatives指令进行多版本管理。此处参照链接:ubuntu下多个gcc g++的安装和管理切换等

update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本。
其中60 ,70是优先级数值可以自己设定,–slave能保证gcc和g++保持相同的版本,数字越大,优先级越高,设置系统自带5.4优先级版本最高。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 70 --slave /usr/bin/g++ g++ /usr/bin/g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/gcc 60 --slave /usr/bin/g++ g++ /usr/local/bin/g++

配置版本指令
使用如下命令选择gcc的版本:

sudo update-alternatives --config gcc

版本选择
根据需要输入slection列出的数字。
修改gcc版本
至此完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值