当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
前言
本文档意在说明 当使用者 gcc 版本 和 Linux系统默认的gcc版本 存在 大版本差异 时,怎样处理,能够兼用多个版本 并且对已有 程序影响最小。
问题描述
linux系统默认的gcc版本:7.5.0- 我们程序需要使用的
gcc版本:8.4.0
安装具体操作步骤
ubuntu 下操作步骤
介绍
我们在Ubuntu下使用它自带的软甲包管理器 apt 来安装,这样更简单,也更符合 Ubuntu 系统的使用习惯。
目标
安装 gcc 8 并且保留原有的 gcc 编译器
具体步骤
注意:在执行上述命令之前,请确保您的系统已经更新到最新,并且已经安装了基本的开发工具,例如
gcc、make和git。
- 要在
Ubuntu上安装GCC 8版本,您可以按照以下步骤操作:- 打开终端,并使用以下命令更新软件包列表:
sudo apt update
- 使用以下命令安装
GCC 8:
sudo apt install gcc-8 g++-8
- 安装完成后,您可以使用以下命令验证
GCC的版本:
gcc-8 --version- 您应该能够看到
GCC 8的版本信息。
CentOS 下操作步骤
介绍
我们在CentOS下使用它自带的软甲包管理器 devtoolset 来安装,这样更简单,也更符合 CentOS 系统的使用习惯。
目标
安装 gcc 8 并且保留原有的 gcc 编译器
具体步骤
注意:在执行上述命令之前,请确保您的系统已经更新到最新,并且已经安装了基本的开发工具,例如
gcc、make和git。
- 要安装
GCC 8版本并通过devtoolset管理,您可以按照以下步骤操作:- 确保您已经安装了
devtoolset工具。如果没有安装,您可以使用以下命令安装:
sudo yum install devtoolset-8
- 接下来,使用以下命令启用
devtoolset-8:
source /usr/bin/enable-devtoolset-8
- 启用了
devtoolset-8之后,您可以使用以下命令安装GCC 8:
sudo yum install gcc8-gcc
- 安装完成后,您可以使用以下命令验证
GCC的版本:
gcc --version- 您应该能够看到
GCC 8的版本信息。
- 确保您已经安装了
部署具体操作步骤
ubuntu 下操作步骤
介绍
我们在Ubuntu下安装完成之后,可以使用8版本的gcc了,但是我们使用时需要显式指定gcc-8这样在编码时,需要特殊指定,否则易冲突。
针对这种情况,我们可以更改环境变量来让gcc 直接指定到 gcc-8并且不同账户之间 可以使用各自的版本
目标
让gcc 直接指定到 gcc-8并且不同账户之间 可以使用各自的版本
具体步骤
要使当前账户的默认 GCC 版本设置为 GCC-8,您可以执行以下步骤:
- 如果您只想在当前账户中使用
GCC-8,可以在.bashrc文件中添加以下内容:
alias gcc=gcc-8
alias g++=g++-8 - 保存并关闭文件,然后运行以下命令使更改生效:
source ~/.bashrc - 现在,每当您在这个账户的终端中键入
gcc时,将默认使用GCC-8版本。
补充
请注意,下面的方法将改变整个系统的默认 GCC 版本。
- 打开终端。
- 使用以下命令更新默认的
GCC版本:
update-alternatives --config gcc
- 在出现的选项中,选择
GCC-8的版本。 - 保存并退出。
- 现在,当您在终端中键入
gcc时,将默认使用GCC-8版本。
重要说明
如果你需要编译c++ 程序,那么你不仅仅要使用 gcc-8,还需要g+±8 这两者都需要指定,在安装gcc8时,这两者都已经安装成功了,但是在使用时,需要分别指定映射版本。否则会会出现编译错误,在c和c++混编时更易出现报错。
CentOS 下操作步骤
介绍
我们在CentOS下安装完成之后,可以使用8版本的gcc了,但是我们使用时需要显式指定gcc-8这样在编码时,需要特殊指定,否则易冲突。
针对这种情况,我们可以更改环境变量来让gcc 直接指定到 gcc-8并且不同账户之间 可以使用各自的版本
目标
让gcc 直接指定到 gcc-8并且不同账户之间 可以使用各自的版本
具体步骤
要使当前账户的默认 GCC 版本设置为 GCC-8,您可以执行以下步骤:
- 如果您只想在当前账户中使用
GCC-8,可以在.bashrc文件中添加以下内容:
# User specific aliases and functions
echo "Loading GCC8..."
#scl enable devtoolset-8 bash
source scl_source enable devtoolset-8
- 保存并关闭文件,然后运行以下命令使更改生效:
source ~/.bashrc - 现在,每当您在这个账户的终端中键入
gcc时,将默认使用GCC-8版本。
分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za
相关文章:
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
前言 本文档意在说明 当使用者 gcc 版本 和 Linux系统默认的gcc版本 存在 大版本差异 时,怎样处理,能够兼用多个版本 并且对已有 程序影响最小。 问题描述 linux系统默认的gcc版本:7.5.0我们程序需要使用的gcc版本:8.4.0 安装…...
深度学习之卷积神经网络理论基础
深度学习之卷积神经网络理论基础 卷积层的操作(Convolutional layer) 在提出卷积层的概念之前首先引入图像识别的特点 图像识别的特点 特征具有局部性:老虎重要特征“王字”仅出现在头部区域特征可能出现在任何位置下采样图像,…...
控制台的高度可调有哪些重要意义解析
在现代办公环境中,控制台的高度可调性越来越受到重视。它不仅为员工提供了更加舒适的工作环境,还提高了工作效率和生产力。本文将详细探讨控制台高度可调的重要性,并解析其在实际应用中的优势。 个性化适应需求 对于长时间在控制台前工作的用…...
智能招聘?远在天边,近在眼前
2023年曾被称为“史上最卷毕业季”,当年应届高校毕业生高达1158万人。人力资源社会保障部公布的数据显示,即将到来的2024毕业季,全国普通高校毕业生规模预计将达1179万人,同比增加21万人,就业总量压力依然高企。看来&a…...
文字游侠AI丨简直是写作神器,头条爆文一键生成稳定赚米!附渠道和详细教程(只需四步)!
在数字时代的浪潮中,人们不断寻求网络空间中的商机,期望在互联网的浩瀚海洋里捕捉到稳定的财富。随着人工智能技术的突飞猛进,越来越多的AI工具被融入到各行各业,开辟了新天地,带来了创新的盈利模式。 其中,…...
【ES6】简单剖析一下展开运算符 “ ... “
基本用法 let row {id: 1,name: John Doe,age: 30 };let newRow { ...row };console.log(newRow); // 输出: { id: 1, name: John Doe, age: 30 }基本用法就是通过展开运算符,将某个对象中的元素依次展开,然后赋值给新的对象。 但是值得注意的是&…...
java StringUtils类常用方法
StringUtils类是Apache Commons Lang库中提供的一个工具类,用于处理字符串操作。它包含了许多常用的方法,以下是其中一部分常用方法: StringUtils.isEmpty(String str):判断字符串是否为空,如果字符串为null、空字符串…...
科锐国际(计算机类),汤臣倍健,中建三局,宁德时代,途游游戏,得物,蓝禾,顺丰,康冠科技24春招内推
科锐国际(计算机类),汤臣倍健,中建三局,宁德时代,途游游戏,得物,蓝禾,顺丰,康冠科技24春招内推 ①汤臣倍健 【内推岗位】:市场类、营销类、研发类…...
一些常见开发框架相关题目,RESTful是什么,Electron是什么,Express, Koa
RESTful架构 1. 什么是RESTful架构? REST(Representational State Transfer)是一种软件架构风格,它强调简单、无状态的接口,以资源为核心,使用统一的接口进行资源的访问。RESTful架构通常基于HTTP协议&am…...
C++进阶之路:何为默认构造函数与析构函数(类与对象_中篇)
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...
初识C语言——第二十一天
猜数字小游戏的实现: 学会了之后可以自己制作彩票抽奖,哈哈! 代码实现: #include <stdlib.h> #include <time.h>void menu()//无返回值函数 {printf("**************************\n");printf("****…...
使用make_blobs生成数据并使用KNN机器学习算法进行分类和预测以及可视化
生成数据 使用make_blobs生成数据并使用matplotlib进行可视化 完整代码: from sklearn.datasets import make_blobs # KNN 分类器 from sklearn.neighbors import KNeighborsClassifier # 画图工具 import matplotlib.pyplot as plt # 数据集拆分工具 from sklea…...
WSL2-Ubuntu(深度学习环境搭建)
1.在Windows的WSL2上安装Ubuntu 流程可参考:https://www.bilibili.com/video/BV1mX4y177dJ 注意:中间可能需要使用命令wsl --update更新一下wsl。 2.WSL数据迁移 按照下面流程:开始菜单->设置->应用->安装的应用->搜索“ubun…...
政务服务电子文件归档和电子档案管理系统,帮助组织收、管、存、用一体化
作为数字政府建设的重要抓手,政务服务改革经过多年发展,截至 2022 年底,全国一体化在线政务服务平台实名用户超过10亿人,在政务服务、办件过程中出现了大量需要归档的电子文件,对于电子档案、电子证照的需求愈加强烈。…...
2024.05.15学习记录
1、完成Ts重构Axios项目中更多功能的开发 2、刷题:二叉树(代码回忆录) 3、复习diff算法源码解读...
[前端] 深度选择器deep使用介绍(笔记)
参考文献 深度选择器 深度选择器deep使用说明 在 Vue 中,为了实现组件内部样式对组件外部元素的穿透覆盖,可以使用 CSS 的 deep 选择器(也称为 >>> 或 /deep/)或 v-deep 指令。然而,这两个方法在 Vue 3 中…...
simlink 初步了解
1.simlink概要 Simulink是基于MATLAB的框图设计环境,它提供了一个动态系统建模、仿真和分析的集成环境。Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。 Simulink的特…...
【SRC实战】退款导致零元购支付漏洞
挖个洞先 https://mp.weixin.qq.com/s/3k3OCC5mwI5t9ILNt6Q8bw “ 以下漏洞均为实验靶场,如有雷同,纯属巧合 ” 01 — 漏洞证明 1、购买年卡会员 2、订单处查看已支付 3、申请退款 4、会员仍然有效 5、使用另一个账号重复支付退款操作&#…...
一篇文章搞懂退火算法
退火算法,全称为模拟退火算法(Simulated Annealing,SA),是一种通用概率算法,用来在给定一个大的搜寻空间内找寻问题的近似最优解。模拟退火算法灵感来源于固体物理学中的退火过程,这一过程中,物质被加热后再缓慢冷却,原子会在加热过程中获得较大的运动能量,随着温度的…...
浅说文心一言
文心一言(ERNIE Bot)是一个基于Transformer结构的知识增强大语言模型,它可以根据用户的指令和输入,生成相应的回答或文本。以下是一些常见的指令示例,你可以根据需要进行调整: 问答指令: "…...
3分钟掌握Joy-Con Toolkit:让你的Switch手柄焕然一新的终极指南
3分钟掌握Joy-Con Toolkit:让你的Switch手柄焕然一新的终极指南 【免费下载链接】jc_toolkit Joy-Con Toolkit 项目地址: https://gitcode.com/gh_mirrors/jc/jc_toolkit 还在为单调的Joy-Con手柄配色而烦恼吗?Joy-Con Toolkit为你带来了一键改变…...
终极Windows离线语音识别指南:打造企业级隐私安全的实时字幕系统
终极Windows离线语音识别指南:打造企业级隐私安全的实时字幕系统 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 在数字化办公和远程协作日益普及的今天,实时语音转文字技术已成为提升工作效…...
Python websocket-client库避坑指南:从回调地狱到优雅关闭长连接
Python websocket-client库深度实战:从长连接管理到生产级解决方案 引言 在实时数据传输领域,WebSocket协议已经成为现代应用的基石。无论是金融行情推送、即时通讯系统还是物联网设备监控,WebSocket的双向通信特性都展现出无可替代的价值。P…...
基于NXP i.MX6的智能电子后视镜方案:硬件选型、软件架构与车规级实践
1. 项目概述与核心价值 在汽车智能化浪潮中,驾驶安全始终是首要课题。传统的光学后视镜存在固有的物理盲区,尤其是在车辆侧方和侧后方,这些盲区是变道、转弯时发生剐蹭甚至碰撞事故的主要诱因。作为一名在嵌入式车载系统领域摸爬滚打了十多年…...
SFT别急着接RL!你的多模态大模型可能一直在“带伤训练”
PRISM团队 投稿量子位 | 公众号 QbitAISFT之后,直接上强化学习就够了吗?小心,你做的可能不是“训练”,而是“还债”。在多模态大模型(MLLM)的后训练中,行业内长期遵循着一个看似天经地义的范式&…...
mRNA疫苗序列生物信息学分析:从密码子优化到免疫原性预测
1. 项目概述:解码两大mRNA疫苗的“核心蓝图”作为一名在生物信息学和基因组学领域摸爬滚打了十多年的“老码农”,我见过太多令人兴奋的数据集,但当我第一次在GitHub上看到这个名为“Assemblies-of-putative-SARS-CoV2-spike-encoding-mRNA-se…...
All in Token,三个运营商建Token工厂,中国移动跟进Token经营 三大运营商争夺AI阵地
随着Token(词元)经营战略的密集落地,三大运营商在AI领域的竞争愈发激烈。在日前举行的2026移动云大会上,中国移动正式发布了Token运营生态体系与移动模型服务平台MoMA,宣布接入超300款模型,并通过Token集约…...
Steam Achievement Manager完整指南:快速解决游戏成就难题的终极工具
Steam Achievement Manager完整指南:快速解决游戏成就难题的终极工具 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager 核心关键词:S…...
PowerInfer:基于热点神经元预测的LLM高性能推理引擎部署指南
1. 项目概述:当推理速度成为AI落地的瓶颈最近在折腾本地大模型推理的朋友,估计都绕不开一个核心痛点:速度。模型效果再好,生成一句话要等上十几秒,那种“卡顿感”足以劝退绝大多数想把它集成到实际应用里的开发者。我自…...
