多版本GCC安装及切换
目录
- 1 背景
- 2 安装
- 2.1 Ubuntu 20.04
- 2.2 Ubuntu 18.04
- 3 配置
- 4 切换
- 4.1 切换到版本9
- 4.2 切换到版本10
1 背景
最近在研究C++20中的协程需要安装GCC版本10。用到GCC多版本切换,记录步骤。
2 安装
2.1 Ubuntu 20.04
运行如下命令安装两个版本编译器:
sudo apt install gcc-9 g++-9
sudo apt install gcc-10 g++-10
2.2 Ubuntu 18.04
默认安装最高版本gcc-7,添加Toolchain Test Builds PPA(个人软件包存档),它提供了GCC 10的最新版本
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install gcc-9 g++-9
sudo apt install gcc-10 g++-10
3 配置
使用update-alternatives命令配置多编译器版本:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
说明:
- gcc与g++版本绑定在一起了,修改gcc版本会同时修改g++版本
4 切换
使用如下命令切换编译器版本:
sudo update-alternatives --config gcc
4.1 切换到版本9
$ sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-10 100 auto mode1 /usr/bin/gcc-10 100 manual mode2 /usr/bin/gcc-9 90 manual modePress <enter> to keep the current choice[*], or type selection number: 2
查看版本:
$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.3) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ --version
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.3) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4.2 切换到版本10
$ sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-10 100 auto mode1 /usr/bin/gcc-10 100 manual mode2 /usr/bin/gcc-9 90 manual modePress <enter> to keep the current choice[*], or type selection number: 1
查看版本:
$ gcc --version
gcc (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ --version
g++ (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
相关文章:
多版本GCC安装及切换
目录 1 背景2 安装2.1 Ubuntu 20.042.2 Ubuntu 18.04 3 配置4 切换4.1 切换到版本94.2 切换到版本10 1 背景 最近在研究C20中的协程需要安装GCC版本10。用到GCC多版本切换,记录步骤。 2 安装 2.1 Ubuntu 20.04 运行如下命令安装两个版本编译器: sudo apt insta…...
Redis进阶 - 朝生暮死之Redis过期策略
概述 Redis 是一种常用的内存数据库,其所有的数据结构都可以设置过期时间,时间一到,就会自动删除。你可以想象 Redis 内部有一个死神,时刻盯着所有设置了过期时间的 key,寿命一到就会立即收割。 你还可以进一步站在死神…...
MySQL实训--原神数据库
原神数据库 er图DDL/DML语句查询语句存储过程/触发器 er图 DDL/DML语句 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS artifacts; CREATE TABLE artifacts (id int NOT NULL AUTO_INCREMENT,artifacts_name varchar(255) CHARACTER SET utf8 COLLATE …...
Retrieval-Augmented Generation for Large Language Models A Survey
Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 文章目录 Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 Abstract背景介绍 RAG概述原始RAG先进RAG预检索过程后检索过程 模块化RAGModules部分Patterns部分 RAG…...
【曦灵平台】深度体验百度智能云曦灵平台之数字人3.0、声音克隆、直播等功能,AI加持就是不一样,快来一起体验
目录 资产数字人 2D数字人克隆声音克隆 AI卡片更多功能总结推荐文章 资产 可进行人像与声音的定制,让数字人形象和声音成为我们的专属资产,用于后续的内容生产工作 数字人 这里拍摄的视频分辨率和帧率必须要确保是官方要求,这里博主通过第…...
如何使用GPT?初学者的指南
ChatGPT是一个非常先进的AI工具,它使用GPT-4架构,能够生成自然的语言回应。它的多功能性和理解复杂指令的能力,使得很多人用它来回答各种问题,就像用Google一样输入关键词。不过,ChatGPT还能做更多事情,下面…...
24年了 直播带货的未来如何?
32 个国家在取消电商, 那我国的电商呢,首先电商是不会被取缔的。直播电商会被严格的控制,比如有一家饼店,它线下的销售是 3000 万,线上抖音的销售是 5, 000 万。 这一类型小而精又专业的品牌企业,未来在抖…...
【神经网络】深入理解多层神经网络(深度神经网络
🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 深入理解多层神经网络&#x…...
CAS原理与JUC原子类
一、CAS基本原理 1、Unsafe类 (1)概念及作用:增强Java语言操作底层资源的能力,里面的方法多为native修饰的方法(基于C实现),不建议在代码中使用,不安全。 (2ÿ…...
【杂记-浅谈OSPF协议之RouterDeadInterval死区间隔】
OSPF协议之RouterDeadInterval死区间隔 一、RouterDeadInterval概述二、设置RouterDeadInterval三、RouterDeadInterval的重要性 一、RouterDeadInterval概述 RouterDeadInterval,即路由器死区间隔,它涉及到路由器如何在广播网络上发现和维护邻居关系。…...
【每日刷题】Day75
【每日刷题】Day75 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 1833. 雪糕的最大数量 - 力扣(LeetCode) 2. 面试题 17.14. 最小K个数 - 力扣…...
文件管理器加载缓慢-禁用文件类型自动发现功能
文件管理器加载缓慢-禁用文件类型自动发现功能 右键“Shell”项,选择新建“字符串值” “FolderType”,数值为 NotSpecified。...
.[nicetomeetyou@onionmail.org].faust深入剖析勒索病毒及防范策略
引言: 在数字化时代,网络安全问题日益凸显,其中勒索病毒无疑是近年来网络安全的重大威胁之一。勒索病毒以其独特的加密机制和恶意勒索行为,给个人和企业带来了巨大的经济损失和数据安全风险。本文将从勒索病毒的传播方式、攻击链、…...
Ardupilot开源代码之ExpressLRS性能实测方法
Ardupilot开源代码之ExpressLRS性能实测方法 1. 源由2. 测试效果3. 测试配置4. 总结5. 参考资料6. 补充 1. 源由 之前一直在讨论ExpressLRS性能的问题,有理论、模拟、实测。 始终缺乏完整的同一次测试的测试数据集,本章节将介绍如何在Ardupilot上进行获…...
Transformers是SSMs:通过结构化状态空间对偶性的广义模型和高效算法(二)
文章目录 6、针对SSD模型的硬件高效算法6.1、对角块6.2、低秩块6.3、计算成本 7、Mamba-2 架构7.1、块设计7.2、序列变换的多头模式7.3、线性注意力驱动的SSD扩展8、系统优化对于SSMs8.1、张量并行8.2、序列并行性8.3、可变长度 9、实证验证9.1、合成任务:联想记忆9…...
Segment any Text:优质文本分割是高质量RAG的必由之路
AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…...
IDEA 学习之 编译内存问题
目录 1. 正常的 IDEA build 日志2. 编译工具内存不足日志 (内存从小变大)2.1. 干脆无法启动2.2. Ant 任务执行报错2.3. 内存溢出:超出 GC 上限2.4. 内存溢出:超出 GC 上限,编译报错2.5. 内存溢出: 堆空间2.…...
如何将本地项目推送到gitee仓库
目录 为何用gitee管理自己项目: 如何将自己的项目推送到gitee仓库,步骤如下: 1.下载git 2.生成公钥 3.在gitee上添加公钥 4.在gitee上创建仓库 5.将本地项目推送到gitee仓库 为何用gitee管理自己项目: 1.可以使用多台电脑…...
产品经理基础入门
一、产品基础(需求收集、需求管理、需求分析、结构图、流程图、原型、PRD文档、用户画像、后台的角色管理) 产品经理定义: 1.市场分析:找准市场方向,确定哪个市场是值得进入的。 2.用户分析:针对目标市场…...
五子棋纯python手写,需要的拿去
import pygame,sys from pygame import * pygame.init()game pygame.display.set_mode((600,600)) gameover False circlebox [] # 棋盘坐标点存储 box [] def xy():for x in range(0,800//40): for y in range(0,800//40): box.append((x*40,y*40)) xy() defaultColor wh…...
如何快速上手专业3D点云标注工具:完整入门指南
如何快速上手专业3D点云标注工具:完整入门指南 【免费下载链接】labelCloud A lightweight tool for labeling 3D bounding boxes in point clouds. 项目地址: https://gitcode.com/gh_mirrors/la/labelCloud 在自动驾驶、机器人视觉和三维重建等领域&#x…...
从设备树到驱动:在RK3566上点亮一个LED的完整实战(GPIO0_B4为例)
从设备树到驱动:在RK3566上点亮一个LED的完整实战(GPIO0_B4为例) 当你第一次拿到一块Rockchip RK3566开发板时,最令人兴奋的莫过于让硬件真正"活"起来。而点亮一个LED,就像嵌入式世界的"Hello World&q…...
观察不同模型在Taotoken平台上的实际Token消耗速率
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察不同模型在Taotoken平台上的实际Token消耗速率 对于依赖大模型API进行开发的团队和个人而言,成本控制是一个持续关…...
用普通光耦TLP521-2实现宽范围线性隔离?一个低成本替代线性光耦的电路设计与实测
用普通光耦TLP521-2实现宽范围线性隔离的工程实践 在工业传感器接口和模拟信号采集领域,信号隔离是确保系统稳定性和安全性的关键技术。传统专用线性光耦(如LOC系列)虽性能优异,但高昂的成本和有限的线性输出范围(通常…...
【ElevenLabs尼泊尔文语音实战指南】:20年AI语音工程师亲授7大避坑要点与本地化部署全流程
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs尼泊尔文语音技术概览与核心价值 ElevenLabs 自 2023 年起逐步扩展其多语言语音合成能力,尼泊尔文(Nepali, ISO 639-1: ne)作为首批支持的南亚语系之一&am…...
Visual C++运行库终极指南:如何一键修复所有Windows程序依赖问题
Visual C运行库终极指南:如何一键修复所有Windows程序依赖问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过打开软件时突然弹出&…...
基于Web的Ollama客户端:本地大模型交互的图形化解决方案
1. 项目概述:一个与本地大模型交互的现代客户端 如果你最近在本地部署了像 Llama 3、Mistral 或 Qwen 这类开源大语言模型,大概率会接触到 Ollama 这个工具。它让模型的下载、运行和管理变得异常简单,一条 ollama run llama3 命令就能开启对…...
告别DLL地狱:VisualCppRedist AIO一站式解决Windows运行库依赖难题
告别DLL地狱:VisualCppRedist AIO一站式解决Windows运行库依赖难题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾因"缺少msvcp140.dl…...
【Flutter for OpenHarmony 跨平台征文】Flutter 血压数据模型设计 + WHO标准分类算法实战指南
【Flutter for OpenHarmony 跨平台征文】Flutter 血压数据模型设计 WHO标准分类算法实战指南 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net🎯 写在前面 嗨,大家好!我是上海某高校大一计算机专业的学生…...
轻量化AI助手框架部署指南:基于Nectar-GPT构建社交场景智能机器人
1. 项目概述:一个面向社交场景的轻量化AI助手最近在GitHub上看到一个挺有意思的项目,叫socialtribexyz/Nectar-GPT。光看名字,你可能会觉得这又是一个基于GPT API的简单封装,或者是一个聊天机器人。但当我深入去研究它的代码结构、…...
