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

当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理

前言

本文档意在说明 当使用者 gcc 版本Linux系统默认的gcc版本 存在 大版本差异 时,怎样处理,能够兼用多个版本 并且对已有 程序影响最小

问题描述

  • linux系统默认的gcc版本:7.5.0
  • 我们程序需要使用的gcc版本:8.4.0

安装具体操作步骤

ubuntu 下操作步骤

介绍
我们在Ubuntu下使用它自带的软甲包管理器 apt 来安装,这样更简单,也更符合 Ubuntu 系统的使用习惯。

目标
安装 gcc 8 并且保留原有的 gcc 编译器

具体步骤

注意:在执行上述命令之前,请确保您的系统已经更新到最新,并且已经安装了基本的开发工具,例如 gccmakegit

  • 要在 Ubuntu 上安装 GCC 8 版本,您可以按照以下步骤操作:
    1. 打开终端,并使用以下命令更新软件包列表:
    • sudo apt update
    1. 使用以下命令安装 GCC 8
    • sudo apt install gcc-8 g++-8
    1. 安装完成后,您可以使用以下命令验证 GCC 的版本:
    • gcc-8 --version
    • 您应该能够看到 GCC 8 的版本信息。

CentOS 下操作步骤

介绍
我们在CentOS下使用它自带的软甲包管理器 devtoolset 来安装,这样更简单,也更符合 CentOS 系统的使用习惯。

目标
安装 gcc 8 并且保留原有的 gcc 编译器

具体步骤

注意:在执行上述命令之前,请确保您的系统已经更新到最新,并且已经安装了基本的开发工具,例如 gccmakegit

  • 要安装 GCC 8 版本并通过 devtoolset 管理,您可以按照以下步骤操作:
    1. 确保您已经安装了 devtoolset 工具。如果没有安装,您可以使用以下命令安装:
    • sudo yum install devtoolset-8
    1. 接下来,使用以下命令启用 devtoolset-8
    • source /usr/bin/enable-devtoolset-8
    1. 启用了 devtoolset-8 之后,您可以使用以下命令安装 GCC 8
    • sudo yum install gcc8-gcc
    1. 安装完成后,您可以使用以下命令验证 GCC 的版本:
    • gcc --version
    • 您应该能够看到 GCC 8 的版本信息。

部署具体操作步骤

ubuntu 下操作步骤

介绍
我们在Ubuntu下安装完成之后,可以使用8版本的gcc了,但是我们使用时需要显式指定gcc-8这样在编码时,需要特殊指定,否则易冲突。

针对这种情况,我们可以更改环境变量来让gcc 直接指定到 gcc-8并且不同账户之间 可以使用各自的版本

目标
gcc 直接指定到 gcc-8并且不同账户之间 可以使用各自的版本

具体步骤
要使当前账户的默认 GCC 版本设置为 GCC-8,您可以执行以下步骤:

  1. 如果您只想在当前账户中使用 GCC-8,可以在 .bashrc 文件中添加以下内容:
    alias gcc=gcc-8
    alias g++=g++-8
  2. 保存并关闭文件,然后运行以下命令使更改生效:
    source ~/.bashrc
  3. 现在,每当您在这个账户的终端中键入 gcc 时,将默认使用 GCC-8 版本。

补充
请注意,下面的方法将改变整个系统默认 GCC 版本

  1. 打开终端。
  2. 使用以下命令更新默认的 GCC 版本:
  • update-alternatives --config gcc
  1. 在出现的选项中,选择 GCC-8 的版本。
  2. 保存并退出。
  3. 现在,当您在终端中键入 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,您可以执行以下步骤:

  1. 如果您只想在当前账户中使用 GCC-8,可以在 .bashrc 文件中添加以下内容:
# User specific aliases and functions
echo "Loading GCC8..."
#scl enable devtoolset-8 bash
source scl_source enable devtoolset-8
  1. 保存并关闭文件,然后运行以下命令使更改生效:
    source ~/.bashrc
  2. 现在,每当您在这个账户的终端中键入 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) 在提出卷积层的概念之前首先引入图像识别的特点 图像识别的特点 特征具有局部性:老虎重要特征“王字”仅出现在头部区域特征可能出现在任何位置下采样图像&#xff0c…...

控制台的高度可调有哪些重要意义解析

在现代办公环境中,控制台的高度可调性越来越受到重视。它不仅为员工提供了更加舒适的工作环境,还提高了工作效率和生产力。本文将详细探讨控制台高度可调的重要性,并解析其在实际应用中的优势。 个性化适应需求 对于长时间在控制台前工作的用…...

智能招聘?远在天边,近在眼前

2023年曾被称为“史上最卷毕业季”,当年应届高校毕业生高达1158万人。人力资源社会保障部公布的数据显示,即将到来的2024毕业季,全国普通高校毕业生规模预计将达1179万人,同比增加21万人,就业总量压力依然高企。看来&a…...

文字游侠AI丨简直是写作神器,头条爆文一键生成稳定赚米!附渠道和详细教程(只需四步)!

在数字时代的浪潮中,人们不断寻求网络空间中的商机,期望在互联网的浩瀚海洋里捕捉到稳定的财富。随着人工智能技术的突飞猛进,越来越多的AI工具被融入到各行各业,开辟了新天地,带来了创新的盈利模式。 其中&#xff0c…...

【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语言——第二十一天

猜数字小游戏的实现&#xff1a; 学会了之后可以自己制作彩票抽奖&#xff0c;哈哈&#xff01; 代码实现&#xff1a; #include <stdlib.h> #include <time.h>void menu()//无返回值函数 {printf("**************************\n");printf("****…...

使用make_blobs生成数据并使用KNN机器学习算法进行分类和预测以及可视化

生成数据 使用make_blobs生成数据并使用matplotlib进行可视化 完整代码&#xff1a; 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 流程可参考&#xff1a;https://www.bilibili.com/video/BV1mX4y177dJ 注意&#xff1a;中间可能需要使用命令wsl --update更新一下wsl。 2.WSL数据迁移 按照下面流程&#xff1a;开始菜单->设置->应用->安装的应用->搜索“ubun…...

政务服务电子文件归档和电子档案管理系统,帮助组织收、管、存、用一体化

作为数字政府建设的重要抓手&#xff0c;政务服务改革经过多年发展&#xff0c;截至 2022 年底&#xff0c;全国一体化在线政务服务平台实名用户超过10亿人&#xff0c;在政务服务、办件过程中出现了大量需要归档的电子文件&#xff0c;对于电子档案、电子证照的需求愈加强烈。…...

2024.05.15学习记录

1、完成Ts重构Axios项目中更多功能的开发 2、刷题&#xff1a;二叉树&#xff08;代码回忆录&#xff09; 3、复习diff算法源码解读...

[前端] 深度选择器deep使用介绍(笔记)

参考文献 深度选择器 深度选择器deep使用说明 在 Vue 中&#xff0c;为了实现组件内部样式对组件外部元素的穿透覆盖&#xff0c;可以使用 CSS 的 deep 选择器&#xff08;也称为 >>> 或 /deep/&#xff09;或 v-deep 指令。然而&#xff0c;这两个方法在 Vue 3 中…...

simlink 初步了解

1.simlink概要 Simulink是基于MATLAB的框图设计环境&#xff0c;它提供了一个动态系统建模、仿真和分析的集成环境。Simulink是一个模块图环境&#xff0c;用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。 Simulink的特…...

【SRC实战】退款导致零元购支付漏洞

挖个洞先 https://mp.weixin.qq.com/s/3k3OCC5mwI5t9ILNt6Q8bw “ 以下漏洞均为实验靶场&#xff0c;如有雷同&#xff0c;纯属巧合 ” 01 — 漏洞证明 1、购买年卡会员 2、订单处查看已支付 3、申请退款 4、会员仍然有效 5、使用另一个账号重复支付退款操作&#…...

一篇文章搞懂退火算法

退火算法,全称为模拟退火算法(Simulated Annealing,SA),是一种通用概率算法,用来在给定一个大的搜寻空间内找寻问题的近似最优解。模拟退火算法灵感来源于固体物理学中的退火过程,这一过程中,物质被加热后再缓慢冷却,原子会在加热过程中获得较大的运动能量,随着温度的…...

浅说文心一言

文心一言&#xff08;ERNIE Bot&#xff09;是一个基于Transformer结构的知识增强大语言模型&#xff0c;它可以根据用户的指令和输入&#xff0c;生成相应的回答或文本。以下是一些常见的指令示例&#xff0c;你可以根据需要进行调整&#xff1a; 问答指令&#xff1a; "…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...