ubuntu16.04中的gcc版本及版本切换

最近发现gcc版本对于编译类似于opencv,caffe等等都是有版本需求的。之前一直是去重新装gcc。但是昨天发现其实可以安装多个gcc版本互相切换的。我大概发现了两种方法,当然还可能有其他的,暂不去探究。当然也必然是参考其他大神的做法加以总结以便后用?

在说方法之前,先普及一下查询的命令:

gcc -v # 用于查询当前版本
which gcc # 查询gcc所在位置(/usr/bin/gcc)
/usr/bin/gcc -v # 也可查询版本
ll /usr/bin/gcc* # 也可用于gcc查询版本

方法一:(我倾向于这个,因为比较方便)

安装时使用apt源安装。涉及ubuntu中的一个工具:update-alternatives是系统中专门维护系统命令链接符的工具。搜了一些些介绍:这个命令会建立很软链接,当切换版本的时候,只需要更改软链接的指向。总结一下这个命令很有用,不仅仅局限于gcc的版本管理,像java的版本也可以使用这个管理,需要再做探究。这里仅仅是一个小小的使用。

1、gcc安装命令:

sudo apt-get install gcc-4.7 gcc-4.7-multilib g++-4.7 g++-4.7-multilib
sudo apt-get install gcc-5 gcc-5--multilib g++-5 g++-5-multilib
sudo apt-get install gcc-6 gcc-6--multilib g++-6 g++-6-multilib

这里我安装了4.7版本,因为matlab2015a对应于这个版本,而这里的5真正的版本号为5.5,而6对应的是6.5。这里需要声明的是apt源中并没有包含所有的版本,比如说5.4,6.3,都无法找到。如果必须其他版本可通过编译得,见方法二。

查找的命令也可普及一下(可忽略):

sudo apt-cache search gcc # gcc可替换为其他包名,同样是有效的查询
sudo apt-cache show gcc #展示版本号

2、update-alternatives的设置

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 20 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40 --slave /usr/bin/g++ g++ /usr/bin/g++-5

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 30 --slave /usr/bin/g++ g++ /usr/bin/g++-6

# 20,40,30这些表示的是优先级,可根据需要选定,优先级高的即为默认的。

3、选择所需版本

sudo update-alternatives --config gcc

根据所需要的版本选择1,2,3即可。非常方便。

删除方法:

sudo update-alternatives --remove gcc /usr/bin/* # *为指定版本,如gcc-5
# 删除这个后再通过源卸载
sudo apt-remove --省略--

方法二:

根据源码编译,自己创建软链接,根据需求更改软链接。比较麻烦。

源码地址:https://ftp.gnu.org/gnu/gcc

1、安装命令

# 一、下载源码
# 二、解压缩,进入目录
./contrib/download_prerequisites
mkdir build
cd build
# 下一条命令可根据需求改动,可以进一步查询
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j16 # 开始编译
sudo make install

# 如果卸载
cd build
cd gcc
sudo make uninstall

2、每次重新建立符号连接,删除以前的链接,但是我没有尝试过,可自行尝试。当初查到的也不知道是哪篇文了,如果需要,可自行查询。

# 建立链接
cd /usr/bin
sudo ln -s /自己编译的位置/build/bin/gcc gcc

# 删除链接
cd /usr/bin
sudo rm gcc

 

Ubuntu 16.04升级gcc,你可以按照以下步骤进行操作。首先,添加编译链的PPA源,可以使用以下命令: sudo add-apt-repository ppa:ubuntu-toolchain-r/test 然后,更新软件源列表: sudo apt update 接下来,安装gcc-9和g++-9: sudo apt-get install gcc-9 g++-9 通过执行以上步骤,你可以在Ubuntu 16.04升级gcc版本9。 如果你目前正在使用Ubuntu 14.04,你无法直接体验新版本gcc。一种解决办法是升级到较新的Ubuntu版本,如Ubuntu 16.04,然后按照上述步骤进行升级。另一种解决办法是安装较新版本gcc,如gcc-4.9、gcc-5或gcc-6。你可以使用以下命令安装这些版本: sudo apt-get install gcc-4.9 g++-4.9 sudo apt-get install gcc-5 g++-5 sudo apt-get install gcc-6 g++-6 这样,你就可以在Ubuntu 14.04安装较新的gcc版本。请注意,gcc-5实际上是5.3.0版本,没有5.1或5.2版本可供选择。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Ubuntu16.04升级gcc、g++版本](https://blog.csdn.net/weixin_45747535/article/details/125902856)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Ubuntu升级gcc版本](https://blog.csdn.net/gatieme/article/details/52871438)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值