Ubuntu linux下gcc、g++不同版本的安装和切换
讲解linux下gcc、g++不同版本的安装和切换
Ubuntu 18.04预装GCC版本为7.3,但有时在编译是需要用的不同gcc版本,下面介绍,如何安装不同的gcc 和g++,并设置根据不同的需要在不同版本之间切换。
可以通过如下命令查看当前安装的版本:
ls /usr/bin/gcc*
- 安装gcc-4.8 和gcc-5:
sudo apt install gcc-4.8 g++ -4.8
sudo apt install gcc-5 g++ -5
- 使用update-alternatives设置gcc和g++:
update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本。
其中40 ,50 ,70是优先级数值可以自己设定,–slave能保证gcc和g++保持相同的版本。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g+±4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 --slave /usr/bin/g++ g++ /usr/bin/g+±5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g+±7
- 使用如下命令选择gcc的版本:
sudo update-alternatives --config gcc
可以看到当前gcc默认的版本是gcc-7,下面我们修改为gcc-4.8,直接选择编号即可。
$ sudo update-alternatives --config gcc
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).
* 0 /usr/bin/gcc-7 70 auto mode
1 /usr/bin/gcc-4.8 40 manual mode
2 /usr/bin/gcc-5 50 manual mode
3 /usr/bin/gcc-7 70 manual mode
update-alternatives: using /usr/bin/gcc-4.8 to provide /usr/bin/gcc (gcc) in manual mode
- 验证是否修改成功:
gcc -v
g++ -v
- 删除某个gcc版本的选项的话,可以使用
sudo update-alternatives --remove gcc /usr/bin/gcc-4.5
————————————————
版权声明:本文为CSDN博主「lichunhong000」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xihuanzhi1854/article/details/90765199
Ubuntu linux下gcc、g++不同版本的安装和切换的更多相关文章
- Ubuntu(Linux)下如何用源码文件安装软件
在Ubuntu中附带了丰富的软件,这些软件一般使用图形化的自动方式(“添加/删除”或“新立得”)即可轻松安装,但是对于那些刚刚问世的新软件,Ubuntu的源中还未收录其中,这时我们就需要用到一种更通用 ...
- Linux下gcc/g++中-I(i的大写)、-L和-l
-I(i的大写)include头文件非标准库中存在的也不是在当前文件夹下的,需要将地址用-i(大写)包含例:-I /home/src/-L用到的函数或操作非标准库下的,需要将库存在的地址用-L包含,库 ...
- ubuntu 14.04 gcc/g++版本降低
Matlab 2014a支持的gcc/g++版本是4.7x,而ubuntu 14.04以及更高版本默认安装的版本都是4.8及以上,因此需要降低gcc/g++版本,方法如下: 1 安装 $ sudo a ...
- gcc/g++多版本切换 (ubuntu18.04)
使用Ubuntu18.04已经有一段时间了,在使用过程中经常需要处理不同软件的编译工作,但是这时候就遇到这样一个问题,那就是不同软件,甚至是同一个软件的不同版本都会使用不同版本的gcc/g++来进行编 ...
- Ubuntu\Linux 下编写及调试C\C++
一.在Ubuntu\Linux 下编写及调试C\C++需要配置基本的环境,即配置gcc编译器.安装vim编译器,具体配置安装步骤我在这里就不多说了. 二.基本环境配置完了我们就可以进入自己的程序编写了 ...
- Ubuntu Linux下如何配置Android开发环境
下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...
- 在Ubuntu Linux下怎样安装QQ
最近好多人在吐槽Linux下上QQ简直就是煎熬,网页版的不方便,网上各种版本的QQ要么是功能不全.要么是界面丑到爆,要么是运行不稳定.那么这次为大家带来一个功能完整.运行稳定的wineQQ安装过程. ...
- Ubuntu Linux下安装Oracle JDK
from://http://blog.csdn.net/gobitan/article/details/24322561 Ubuntu Linux下安装Oracle JDK Dennis Hu 201 ...
- ubuntu linux 下wine的使用
ubuntu linux 下wine的使用 之前写了一篇 ubuntu15.10下编译安装wine1.8rc4 这一篇是来写它的使用的. 1.安装Wine支持包 现在,需要安装非开源(但免费)的支持包 ...
- Ubuntu Linux下设置IP的配置命令
Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...
随机推荐
- 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题详解
目录 路飞前台全局css 全局配置文件,安装axios,安装vue-cookies,安装elementui,安装bootstrap和jq,后台主页模块表设计,后台主页模块轮播图接口,录入数据,跨域问题 ...
- ASPNETCORE托管/部署到WindowService的问题[服务显示正在启动]
上述代码是asp.net core web api 3.1,使用Topshelf框架构建windows服务. 安装服务后,服务功能运行正常,但服务状态一直处于"正在启动",不能接收 ...
- php对接钉钉机器人报警接口
<?php function request_by_curl($remote_server, $post_string) { $ch = curl_init(); curl_setopt($ch ...
- C语言学习记录(三)
C语言学习记录(三) 一.知识要点(数据类型.运算符与表达式) 1.C语言的数据类型 C语言数据结构有:基本类型.指针类型.构造类型和空类型.其中基本类型:查看书籍的22页表3-1. C语言的基本数据 ...
- python exec_command 命令无效的原因
当使用Python Paramiko exec_command执行时,某些Unix命令失败并显示"未找到"_互联网集市 (qyyshop.com) 链接里的解释解决了问题 本来直接 ...
- scrapy框架学习(六)日志设置和数据存储
日志设置 CRITICAL : 严重错误 ERROR : 一般错误 WARNING : 警告 INFO : 一般的信息 DEBUG : 调试信息 默认的显示级别是DEBUG # 设置错误显示级别 LO ...
- git将本地文件上传到远程仓库
要记住! 上传代码之前,一定要先下拉代码,如果有冲突(你和别人同时修改了某一个文件的某一行代码),那么就要先解决冲突,才能提交! 这里以将自己的本地文件上传至git仓库为例 1.首先进入需要上传的文件 ...
- 增加网络位置CMD脚本
创建.bat脚本 net use Z: \\192.168.X.X\Share /user:用户名 /persistent:YES 密码 persistent:YES是保存密码.下次开机也生效.
- https原理(六)系统分析
先解决此前的问题: 1 http原理(三)双向实践(curl) need时java 客户端可访问,但没客户端证书:want时有 后来发现,没有给truststore,猜测为,当springboot读到 ...
- Linux下获取线程ID tid的方法
使用Linux Redhat7编写代码的时候,需要使用 gettid() 函数获取线程ID.使用 man gettid 命令查看了一下,gettid()函数的头文件是 #include<sys/ ...