当前位置: 首页 > news >正文

Ubuntu下gcc多版本管理

Ubuntu下多gcc版本的管理

开发过程中,在编译一个开源项目时,由于代码使用的c++版本过高,而系统内置的gcc版本过低时,这个时候我们就需要升级gcc版本,但是为了避免兼容性问题,安装多个版本的gcc,然后可以按需切换是个不错的解决方案。
gcc logo

查看gcc版本

$ gcc -v$ g++ -v

笔者的gcc版本还是5,这个是Ubuntu16自带的,那么如果下载的源码使用了c++17的API,那么可能就会遇到编译问题,比如笔者遇到的问题

filesystem: No such file or directory#include <filesystem>^
compilation terminated.
ninja: build stopped: subcommand failed.Source file was:#include <filesystem>int main(void){return std::filesystem::is_regular_file("/") ? 0 : 1;}Performing C++ SOURCE FILE Test std_filesystem_with_libfs failed

filesystem是c++17新增的,使用g++5当然无法编译通过。那么是时候升级gcc/g++版本了。

查看可用的gcc版本,这个是官方release的地址
http://ftp.gnu.org/gnu/gcc/

安装新版本gcc

1.添加软件源

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

2.更新源

sudo apt-get update

3.安装gcc-9

sudo apt-get install gcc-9

这样安装的是9.xx版本最新的稳定版本,也可以安装指定版本,比如

sudo apt-get install gcc-9.5.0

4.查看已安装gcc版本
locate是Ubuntu自建文件数据库,比直接搜索文件快的多,但是locate每天更新一次,实时性没那么好

sudo updatedb && sudo ldconfig
locate gcc | grep -E "/usr/bin/gcc-[0-9]"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PixAhmSw-1677228525467)(null)]
5.切换gcc版本
使用update-alternatives命令切换

# 命令最后的 20和50是优先级,如果使用auto选择模式,系统将默认使用优先级高的
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50

更改不同版本gcc优先级时,会自动将高优先级版本作为当前使用的版本。
gcc版本切换

同理:对g++多版本管理也是同样的操作。


欢迎关注我的公众号“虎哥Lovedroid”,原创技术文章第一时间推送。

相关文章:

Ubuntu下gcc多版本管理

Ubuntu下多gcc版本的管理 开发过程中&#xff0c;在编译一个开源项目时&#xff0c;由于代码使用的c版本过高&#xff0c;而系统内置的gcc版本过低时&#xff0c;这个时候我们就需要升级gcc版本&#xff0c;但是为了避免兼容性问题&#xff0c;安装多个版本的gcc&#xff0c;然…...

吃透8图1模板,人人可以做架构

前言 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;很多小伙伴问尼恩&#xff1a; 大佬&#xff0c;我们写架构方案&#xff0c; 需要从哪些方面展开 大佬&#xff0c;我们写总体设计方案需要一些技术亮点&#xff0c;可否发一些给我参考下 诸如此类&#xff0c;问法很多…...

骨传导耳机推荐哪款好,列举几款是市面上热销的骨传导耳机

​骨传导耳机是一种新型的耳机类型&#xff0c;通过震动和声音将振动传到了耳道外&#xff0c;对耳道不会产生损伤&#xff0c;能够保护听力。相比于传统耳机的优势有很多&#xff0c;比如运动时佩戴更加稳固&#xff0c;也可以在听歌时与人交谈。但在市面上的骨传导耳机款式可…...

CFS三层内网渗透

目录 环境搭建 拿ubuntu主机 信息收集 thinkphp漏洞利用 上线msf 添加路由建立socks代理 bagecms漏洞利用 拿下centos主机 msf上线centos 添加路由&#xff0c;建立socks代理 拿下win7主机 环境搭建 设置三块虚拟网卡 开启虚拟机验证&#xff0c;确保所处网段正确&a…...

SQL server设置用户只能访问特定数据库、访问特定表或视图

在实际业务场景我们可能需要开放单独用户给第三方使用&#xff0c;并且不想让第三方看到与业务不相关的表或视图&#xff0c;我们需要在数据库中设置一切权限来实现此功能&#xff1a; 1.设置用户只能查看数据库中特定的视图或表 1.创建用户名 选择默认数据库 服务器角色默认…...

linux:http服务器搭建及实验案例

目录准备工作http服务器各个配置文件大概说明实验1&#xff1a;访问不同ip获得不同网页实验2&#xff1a;同一ip访问不同端口获得不同网页准备工作 1&#xff0c;安装http服务 2&#xff0c;将 /etc/selinux/config 文件下面的 SELINUX值改为 disabled 或者 permissive 。 3&a…...

【无标题】智能工业安全用电监测与智慧能源解决方案

工业互联网已成为全球制造业发展的新趋势。在新基建的推动下&#xff0c;5G、人工智能、云计算等技术与传统工业深度融合&#xff0c;为实现智能制造提供了技术支撑&#xff0c;将有力促进制造强国早日实现。 十四五规划在新基建的基础上进一步加快了制造业转型升级的步伐&…...

前端白屏的检测方案,让你知道自己的页面白了

前言 页面白屏&#xff0c;绝对是让前端开发者最为胆寒的事情&#xff0c;特别是随着 SPA 项目的盛行&#xff0c;前端白屏的情况变得更为复杂且棘手起来&#xff08; 这里的白屏是指页面一直处于白屏状态 &#xff09; 要是能检测到页面白屏就太棒了&#xff0c;开发者谁都不…...

编译原理【文法设计】—每个a后面至少一个b、ab个数相等,ab个数不相等的所有串

编译原理【文法设计】—设计每个a后面至少一个b、ab个数相等&#xff0c;ab个数不相等的文法为字母表Σ{a,b}Σ\{a,b\}Σ{a,b}上的下列每个语言设计一个文法 (a) 每个a后面至少有一个b的所有串 首先&#xff0c;每个a后面至少有一个b的正规式怎么写呢&#xff1f;每个a都需要…...

【死磕数据库专栏启动】在CentOS7中安装 MySQL5.7版本实战

文章目录前言实验环境一. 安装MySQL1.1 配置yum源1.2 安装之前的环境检查1.3 下载MySQL的包1.4 开始使用yum安装1.5 启动并测试二. 设置新密码并重新启动2.1 设置新密码2.2 重新登录测试总结前言 学习MySQL是一件比较枯燥的事情&#xff0c;学习开始之前要先安装MySQL数据库&a…...

23.2.23 22湖北省赛 B

好久没打卡了, 随便找的个水题写 这题是简单难度的 ab1 所以可以找到固定规律, 通过手动模拟可以发现 假设两种水叫做a水和b水 先倒入a水 1:0 倒入b水 1:1 此时水杯为 倒出一半的混合物, 因为ab水互溶, 比例不变 再加入a水或者b水将容器填满 比例现在变为 3:1 混合之后再…...

ONLYOFFICE中的chatGPT 是如何编写毕业论文以及翻译多种语言的

前言 chatGPT这款软件曾被多个国家的大学禁用&#xff0c;我们也多次在网上看到chatGPT帮助应届毕业生编写毕业答辩论文&#xff0c;但是这款软件目前还没有在国内正式上线&#xff0c;ONLYOFFICE7.3版本更新后呢&#xff0c;就添加了chatGPT该功能&#xff0c;并且正常使用。 …...

QT入门Containers之QStackedWidget

目录 一、QStackedWidget界面相关 1、布局介绍 2、插入界面 3、插入类界面 二、Demo展示 此文为作者原创&#xff0c;创作不易&#xff0c;转载请标明出处&#xff01; 一、QStackedWidget界面相关 1、布局介绍 QStackedWidget这个控件在界面布局时&#xff0c;使用还…...

Java学习-IO流-字节缓冲流

Java学习-IO流-字节缓冲流 IO流体系↙ ↘字节流 字符流↙ ↘ ↙ ↘InputStream OutputStream Reader Writer↓ ↓ ↓ ↓ FileInputStream FileOutputStream FileRe…...

C++这么难,为什么我们还要学习C++?

前言 C 可算是一种声名在外的编程语言了。这个名声有好有坏&#xff0c;从好的方面讲&#xff0c;C 性能非常好&#xff0c;哪个编程语言性能好的话&#xff0c;总忍不住要跟 C 来单挑一下&#xff1b;从坏的方面讲&#xff0c;它是臭名昭著的复杂、难学、难用。当然&#xff…...

C#底层库--业务单据号生成器(定义规则、自动编号、流水号)

系列文章 C#底层库–MySQL数据库访问操作辅助类&#xff08;推荐阅读&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/126886379 C#底层库–JSON帮助类_详细&#xff08;序列化、反序列化、list、datatable&#xff09; 本文链接&…...

vue3项目练习大全(附github源码)

vue慢慢的成为了前端最受欢迎的框架之一&#xff0c;在很多项目之中开发都能用得到&#xff0c;如今也已经发展到3.0了&#xff0c;可能是因为这个框架可以提高工作效率&#xff0c;因此受到大家的追捧&#xff0c;在之前的文章里面也说过&#xff0c;2019年&#xff0c;大前端…...

SWMM从入门到实践教程 01 SWMM软件介绍

文章目录1 软件介绍2 软件面板2.1 主菜单2.1.1文件菜单&#xff08;File&#xff09;2.1.2 编辑菜单&#xff08;Edit&#xff09;2.1.3 视图菜单&#xff08;View&#xff09;2.1.4 工程菜单&#xff08;Project&#xff09;2.1.5 报告菜单&#xff08;Report&#xff09;2.1.…...

CSS中的text-overflow属性详解 (控制文字在一行显示,超出部分加省略号)

text-overflow: ellipsis; 表示当文本内容超出所在容器的宽度时&#xff0c;用省略号来代替超出的部分。white-space:nowrap; 表示文本不换行。overflow: hidden; 表示超出容器的内容将被隐藏。 将这三个加入需要控制的css的属性中&#xff0c;就能控制文字在一行显示&#xff…...

基于pytorch实现模型剪枝

一,剪枝分类二,PyTorch 的剪枝三,总结参考资料一,剪枝分类 所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差(weigths/bias)的模型压缩技术。关于什么参数才是“不必要的”,这是一个目前依然在研究的领域。 1.1,非结构化剪枝 非结构化剪枝(U…...

实战揭秘:3步解锁你的微信聊天记忆宝库

实战揭秘&#xff1a;3步解锁你的微信聊天记忆宝库 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 你是否曾因为手机丢失或更换设备&#xff0c;眼睁睁看着珍贵的微信聊天记录消失无踪&#xff1f;那些承…...

CANN-昇腾NPU-LoRA微调-显存只占5%怎么做到的

全量微调 Llama2-7B 需要更新 7B 参数&#xff0c;显存开销约 80GB。LoRA 只训练 0.5% 的参数&#xff08;约 35M&#xff09;&#xff0c;显存开销约 4GB。在昇腾NPU上 LoRA 微调是性价比最高的方案。 LoRA 原理 在原始权重 W 旁边加一个低秩矩阵 ΔW A B&#xff1a; 原…...

3步实现Windows任务栏透明化:从新手到专家的桌面美化全攻略

3步实现Windows任务栏透明化&#xff1a;从新手到专家的桌面美化全攻略 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Windows任务栏透明…...

客户旅程重构实战:用AI Agent打通投保、核保、续期、理赔全链路(含可落地的RPA+LLM融合架构图)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;客户旅程重构实战&#xff1a;用AI Agent打通投保、核保、续期、理赔全链路&#xff08;含可落地的RPALLM融合架构图&#xff09; 传统保险业务流程中&#xff0c;投保表单录入、核保规则校验、续期提醒触发与…...

科学边缘计算ML硬件可靠性设计:从比特精确验证到精细化容错

1. 项目概述&#xff1a;当科学实验遇上极端数据洪流想象一下&#xff0c;你面前有一台每秒产生数TB数据的超级显微镜&#xff0c;或者一个每时每刻都在进行数十亿次粒子对撞的探测器。这些并非科幻场景&#xff0c;而是高能物理、材料科学等前沿科学领域的日常。海啸般的数据从…...

Windows电脑C盘告急?手把手教你将Ollama模型库搬家到D盘(附环境变量配置详解)

Windows电脑C盘告急&#xff1f;手把手教你将Ollama模型库搬家到D盘&#xff08;附环境变量配置详解&#xff09;当你在Windows上玩转Ollama大模型时&#xff0c;C盘空间像被黑洞吞噬般迅速告急&#xff1f;别急着删文件或重装系统&#xff0c;今天带你用5分钟完成模型库的无痛…...

量子电路生成式AI技术:原理、应用与挑战

1. 量子电路生成式AI技术概述量子计算正在经历一场由生成式人工智能技术驱动的变革。作为量子计算的基本构建块&#xff0c;量子电路的自动生成技术正在从理论探索快速转向实际应用。这项技术通过AI模型自动产生可执行的量子电路描述&#xff0c;包括Qiskit代码、OpenQASM程序和…...

电脑‘假关机’真烦人!深入聊聊Windows电源管理里的‘快速启动’到底是个啥

Windows快速启动技术揭秘&#xff1a;高效与兼容性的博弈深夜加班结束&#xff0c;你点击关机按钮准备休息&#xff0c;却发现显示器刚暗下去又突然亮起——这不是灵异事件&#xff0c;而是Windows的快速启动功能在"作祟"。这种介于关机和休眠之间的混合状态&#xf…...

数据可视化:交互式图表与大屏展示

数据可视化&#xff1a;交互式图表与大屏展示 大家好&#xff0c;我是欧阳瑞&#xff08;Rich Own&#xff09;。今天想和大家聊聊数据可视化这个重要话题。作为一个全栈开发者&#xff0c;数据可视化是将数据转化为有意义信息的关键。今天就来分享一下交互式图表和大屏展示的实…...

BepInEx配置管理器完整指南:一键管理所有游戏模组设置

BepInEx配置管理器完整指南&#xff1a;一键管理所有游戏模组设置 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否厌倦了为每个游戏模组单…...