ubuntu多版本安装gcc
1.ubuntu安装gcc 9.3.1
$ sudo apt update
$ sudo apt install gcc-9 g++-9
二、配置GCC版本
安装完成后,需要使用update-alternatives命令来配置GCC版本。这个命令允许系统在多个安装的版本之间进行选择
1.添加GCC 9.3.1到update-alternatives管理
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
这里,/usr/bin/gcc和/usr/bin/g++是GCC和G++的符号链接,它们指向当前正在使用的GCC版本。/usr/bin/gcc-9和/usr/bin/g++-9是GCC 9.3.1的安装路径。最后的数字(例如90)是优先级,数值越高,该版本的优先级越高
2.添加GCC 11.4.0到update-alternatives(如果尚未添加)
虽然目标是切换到GCC 9.3.1,但为了确保update-alternatives能够正确管理所有已安装的版本,也可以添加GCC 11.4.0(如果尚未添加)
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 50
这里的50是GCC 11.4.0的优先级
三、切换GCC版本
现在,可以使用update-alternatives命令来切换GCC版本:
sudo update-alternatives --config gcc
执行上述命令后,系统会列出所有已安装的GCC版本,并提示选择一个版本作为默认版本。按照提示输入GCC 9.3.1的编号,然后按Enter键确认
同样地,也可以为G++执行相同的命令来切换版本:
$ sudo update-alternatives --config g++
四、验证切换是否成功
最后,使用以下命令验证GCC和G++的版本是否已经成功切换到9.3.1:
$ gcc -v
$ g++ -v
输出显示的是GCC 9.3.1和G++ 9.3.1的信息,则说明切换成功
linux ubuntu系统问答:h-ttps://askubuntu.com/questions/1419593/how-to-resolve-the-error-package-gcc-8-has-no-installation-candidate-im-t?noredirect=1
更低版本:
方法一、安装gcc-8
首先,需要确保gcc-8已经安装在系统中。在基于Debian的系统(如Ubuntu)上,可以使用以下命令安装gcc-8
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y # 添加包含gcc-8的仓库(对于Ubuntu较旧版本可能需要)
$ sudo apt-get update # 更新软件包列表
$ sudo apt-get install gcc-8 g++-8 # 安装gcc-8和g++-8
方法二、gcc-8软件包在Ubuntu 22.04和更高版本的默认存储库中已经停产,但在Ubuntu 20.04默认存储库仍然可用。要在Ubuntu 22.04中从Ubuntu 20.04安装gcc-8软件包,请运行以下命令:
$ sudo apt update
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8-base_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/cpp-8_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libmpx2_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/main/i/isl/libisl22_0.22.1-1_amd64.deb
$ sudo apt install ./libisl22_0.22.1-1_amd64.deb ./libmpx2_8.4.0-3ubuntu2_amd64.deb ./cpp-8_8.4.0-3ubuntu2_amd64.deb ./libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb ./gcc-8-base_8.4.0-3ubuntu2_amd64.deb ./gcc-8_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libstdc++-8-dev_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/g++-8_8.4.0-3ubuntu2_amd64.deb
sudo apt install ./libstdc++-8-dev_8.4.0-3ubuntu2_amd64.deb ./g++-8_8.4.0-3ubuntu2_amd64.deb
二、使用update-alternatives配置gcc-8
安装完gcc-8后,可以使用 update-alternatives 命令来配置它,使其成为一个可替代的gcc版本。具体步骤如下:
注册gcc-8为gcc的一个替代版本:
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 800
相关文章:
ubuntu多版本安装gcc
1.ubuntu安装gcc 9.3.1 $ sudo apt update $ sudo apt install gcc-9 g-9 二、配置GCC版本 安装完成后,需要使用update-alternatives命令来配置GCC版本。这个命令允许系统在多个安装的版本之间进行选择 1.添加GCC 9.3.1到update-alternatives管理 $ sudo update-a…...
算法刷题Day1
BM47 寻找第k大 第一天就随便记录吧,万事开头难,我好不容易开的头,就别难为自己,去追求高质量了。嘿嘿嘿 题目 传送门 解题思路一:维护一个大小为k的最小堆。最后返回堆顶元素。 代码: # # 代码中的类名…...
泛化调用 :在没有接口的情况下进行RPC调用
什么是泛化调用? 在RPC调用的过程中,调用端向服务端发起请求,首先要通过动态代理,动态代理可以屏蔽RPC处理流程,使得发起远程调用就像调用本地一样。 RPC调用本质:调用端向服务端发送一条请求消息&#x…...
Java 泛型详细解析
泛型的定义 泛型类的定义 下面定义了一个泛型类 Pair,它有一个泛型参数 T。 public class Pair<T> {private T start;private T end; }实际使用的时候就可以给这个 T 指定任何实际的类型,比如下面所示,就指定了实际类型为 LocalDate…...
题解:CF332B Maximum Absurdity
CF332B CF332B 暴力思路 题目要我们找两个不重叠的区间,并使区间的值最大。那我们可以考虑使用双重循环搭配前缀和暴力求最大值。代码如下。 for(int i1;i<n;i) {ll lsum[ik-1]-sum[i-1],maxx;for(int jik;j<n;j){maxxlsum[jk-1]-sum[j-1];if(maxx>ans.…...
Vue 集成和使用 SQLite 的完整指东
1. 引言 SQLite 是一种轻量级的关系型数据库管理系统,以其简单易用、无需服务器等特点广泛应用于嵌入式系统、移动应用和小型应用程序中。在 Web 开发中,尤其是前端应用开发中,SQLite 可以作为客户端本地存储的一种选择,为用户提…...
【JVM什么时候触发YoungGC和FullGC】
YoungGC 年轻代Eden区满,就会触发YoungGC FullGC 老年代空间不足 经过多次GC后的大年龄对象会被放进老年代,或创建的大对象会直接在老年代分配,此时若老年代空间不足,就会触发FullGC。空间分配担保失败 触发YoungGC的时候会进行…...
ubuntu配置网络
1,设置桥接模式 1-1: 确定。 1-2: 编辑--->虚拟网络编辑器 刚安装ubuntu的时候,可能没有任何VMnet. 更改设置的目的: 添加VMnet0,并且设置VMnet为桥接模式--自动桥接。 如果没有VMnet0,选择添加网络…...
第十一课 Unity编辑器创建的资源优化_预制体和材质篇(Prefabs和Materials)详解
预制体(Prefabs) Unity中的预制体是用来存储游戏对象、子对象及其所需组件的可重用资源,一般来说预制体资源可充当资源模版,在此模版基础上可以在场景中创建新的预制体实例。 使用预制体的好处 由于预制体系统可以自动保持所有实例副本同步,…...
2024.11.29(单链表)
思维导图 声明文件 #ifndef __LINKLIST_H__ #define __LINKLIST_H__#include <myhead.h>typedef char datatype; //数据元素类型 //定义节点类型 typedef struct Node {union{int len; //头节点数据域datatype data; //普通节点数据域};struct Node *next; //指针域…...
基于深度学习和卷积神经网络的乳腺癌影像自动化诊断系统(PyQt5界面+数据集+训练代码)
乳腺癌是全球女性中最常见的恶性肿瘤之一,早期准确诊断对于提高生存率具有至关重要的意义。传统的乳腺癌诊断方法依赖于放射科医生的经验,然而,由于影像分析的复杂性和人类判断的局限性,准确率和一致性仍存在挑战。近年来…...
opengl 三角形
最后效果: OpenGL version: 4.1 Metal 不知道为啥必须使用VAO 才行。 #include <glad/glad.h> #include <GLFW/glfw3.h>#include <iostream> #include <vector>void framebuffer_size_callback(GLFWwindow *window, int width, int heigh…...
23种设计模式-抽象工厂(Abstract Factory)设计模式
文章目录 一.什么是抽象工厂设计模式?二.抽象工厂模式的特点三.抽象工厂模式的结构四.抽象工厂模式的优缺点五.抽象工厂模式的 C 实现六.抽象工厂模式的 Java 实现七.代码解析八.总结 类图: 抽象工厂设计模式类图 一.什么是抽象工厂设计模式?…...
手机上怎么拍证件照,操作简单且尺寸颜色标准的方法
在数字化时代,手机已成为我们日常生活中不可或缺的一部分。它不仅是通讯工具,更是我们拍摄证件照的便捷利器。然而,目前证件照制作工具鱼龙混杂,很多打着免费名号的拍照软件背后却存在着泄漏用户信息、照片制作不规范导致无法使用…...
IDEA报错: java: JPS incremental annotation processing is disabled 解决
起因 换了个电脑打开了之前某个老项目IDEA启动springcloud其中某个服务直接报错,信息如下 java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.depen…...
OCR实现微信截图改名
pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple/ ──(Sat,Nov30)─┘ pip install shapely -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install paddleo…...
第一届“吾杯”网络安全技能大赛 Writeup
战队信息 战队名称:在你眼中我是誰,你想我代替誰? 战队排名:13 Misc Sign Hex 转 Str,即可得到flag。 原神启动! 不好评价,stegsolve 秒了: WuCup{7c16e21c-31c2-439e-a814-b…...
再谈Java中的String类型是否相同的判断方法
目录 第一部分 代码展示 画图展示 第二部分 代码展示 画图展示 第一部分 代码展示 画图展示 第二部分 代码展示 画图展示...
<一>51单片机环境
目录 1,51单片机开发语言是C,环境keil 1.1,工程创建 1.2用什么把代码放进单片机里面 2,初识代码 1,51单片机开发语言是C,环境keil 1.1,工程创建 1. 创建项目工程文件夹,可以当作模板Template 2. 创建文件,取名main.c 3,编译,选择输出文…...
【0x0001】HCI_Set_Event_Mask详解
目录 一、命令概述 二、命令格式 三、命令参数说明 四、返回参数说明 五、命令执行流程 5.1. 主机准备阶段 5.2. 命令发送阶段 5.3. 控制器接收与处理阶段 5.4. 事件过滤与反馈阶段 5.5. 主机处理(主机端) 5.6. 示例代码 六、命令应用场景 …...
像素时装锻造坊应用场景:AR滤镜开发中像素化虚拟服装贴图生成流程
像素时装锻造坊应用场景:AR滤镜开发中像素化虚拟服装贴图生成流程 1. 项目背景与核心价值 像素时装锻造坊(Pixel Fashion Atelier)是一款基于Stable Diffusion与Anything-v5的图像生成工作站,专为AR滤镜开发中的虚拟服装贴图生成…...
从座舱芯片到指尖触控:聊聊高通8155/8295上那个你可能没注意到的Virtio Touch框架
从座舱芯片到指尖触控:高通8155/8295中的Virtio Touch框架解析 当你的手指在车载中控屏上滑动时,一组坐标数据正以微秒级速度穿越两个操作系统——这背后是高通座舱芯片中鲜为人知的Virtio Touch框架在发挥作用。作为连接QNX Hypervisor与Android系统的神…...
破局B站音频提取难题:BilibiliDown革新性解决方案全解析
破局B站音频提取难题:BilibiliDown革新性解决方案全解析 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors…...
告别繁琐配置:用快马一键生成wsl2环境初始化脚本
告别繁琐配置:用快马一键生成wsl2环境初始化脚本 最近在帮团队新成员配置开发环境时,发现每次手动搭建wsl2都要重复查找各种命令和配置步骤,效率实在太低。于是尝试用InsCode(快马)平台生成了一套自动化脚本,效果出乎意料地好。 …...
你好吗吗吗吗吗
我真好...
springboot基于Vue的大学生心理健康交流系统的设计与实现
目录系统架构设计数据库设计核心功能模块前端界面开发测试部署方案项目进度规划注意事项项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用前后端分离架构,后端使用SpringBoot框架提供RESTful API接…...
SDMatte API接口开发教程:基于Python Flask构建标准化服务
SDMatte API接口开发教程:基于Python Flask构建标准化服务 1. 开篇:为什么需要API接口 如果你用过SDMatte这个强大的图像抠图工具,可能会遇到这样的场景:想把抠图功能集成到自己的应用里,或者需要批量处理大量图片。…...
别再为长文档发愁了!用DeepSeek-OCR + 单块A100,5步搞定古籍/财报批量识别
单块A100实战指南:用DeepSeek-OCR高效处理古籍与财报的5个关键步骤 当某省级图书馆需要数字化10万页明清古籍时,技术团队发现传统OCR方案需要3个月才能完成,而采用DeepSeek-OCR配合单块A100的方案,仅用11天就交付了准确率92%的数…...
TI C2000 DSP新手必看:用CCS建第一个工程时,如何避免头文件找不到的坑?
TI C2000 DSP开发避坑指南:从零构建CCS工程的正确姿势 第一次打开Code Composer Studio(CCS)时,那个充满按钮和菜单的界面就像面对一架航天飞机的控制台——每个开关都看起来很重要,但完全不知道从哪下手。特别是当你在教程指导下创建了第一个…...
Qwen3-0.6B-FP8快速上手:Anaconda环境下的Python开发配置
Qwen3-0.6B-FP8快速上手:Anaconda环境下的Python开发配置 想试试最新的轻量级大模型Qwen3-0.6B-FP8,但被Python环境搞得头大?别担心,今天咱们就来手把手搞定它。很多朋友在第一步——环境配置上就卡住了,要么是包版本…...
