在Ubuntu20.04(原为cuda12.0, gcc9.几版本和g++9.几版本)下先安装cuda9.0后再配置gcc-5环境

因为自己对Linux相关操作不是很熟悉,所以因为之前的代码报错之后决定要安cuda9.0,于是先安装了cuda9.0。里面用到的一些链接,链接文件夹时直接去copy它的路径,就不那么容易错了。

今天运行程序之后发现gcc环境不太匹配cuda9.0,于是决定要切换为gcc5.0。

下面是在共享服务器的情况下只对自己账号下的gcc和g++环境进行改变的方法:

1.首先安装gcc-5.0。

前半部分参照这个:
Ubuntu20.4安装CUDA9.0,多版本CUDA切换

在这里插入图片描述

2.然后就是切换版本这里不一样了。

因为自己是在实验室的共享服务器下进行操作的,所以只能进行局部操作,不能影响服务器上其他用户的gcc和g++。因此,使用下面的命令。

这里假设用户名为andy。

(1)首先,创建本地目录和符号链接:

在 andy 用户的主目录下创建一个名为 bin 的目录,并在其中创建名为 gcc 和 g++ 的符号链接,将它们指向 gcc-5 和 g+±5。运行以下命令:

mkdir -p /home/andy/bin
ln -s /usr/bin/gcc-5 /home/andy/bin/gcc
ln -s /usr/bin/g++-5 /home/andy/bin/g++

(2)设置用户环境变量:

首先编辑 andy用户的 ~/.bashrc 文件,命令为:

vim ~/.bashrc 

并将以下行添加到文件末尾:

export PATH="/home/andy/bin:$PATH"

然后,运行以下命令以重新加载 andy用户的配置文件:

source ~/.bashrc

(3)设置 andy用户的 gcc 和 g++ 的优先级:

为了仅影响 andy用户,使用以下命令设置andy 用户的 gcc 和 g++ 优先级:使用 sudo 命令以超级用户权限来运行 update-alternatives 命令。在命令前添加 sudo 并输入管理员密码。

sudo update-alternatives --install /usr/bin/gcc gcc /home/andy/bin/gcc 10
sudo update-alternatives --install /usr/bin/g++ g++ /home/andy/bin/g++ 10

然后,禁用系统默认的 gcc 和 g++ 版本:

sudo update-alternatives --skip-auto gcc
sudo update-alternatives --skip-auto g++

然后再运行如下指令看自己的gcc和g++版本是否已经修改成功:

gcc -v
g++ -v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 第三方库 | python-dotenv

1. 简介 在一些项目中,处于安全性的要求,一般不将密码,key等放入到配置文件中。然而这些代码又是上传在 git等平台上。为了方便管理。一般采用系统变量的方式来实现。从而实现配置和代码分开。 2. 安装 pip install python-dotenv 3. 使用…

FX-数组的使用

1一维数组 1.1一维数组的创建和初始化 1.1.1数组的创建 //代码1 int arr1[10]; char arr2[10]; float arr3[1]; double arr4[20]; //代码2 //用宏定义的方式 #define X 3 int arr5[X]; //代码3 //错误使用 int count 10; int arr6[count];//数组时候可以正常创建&#xff1…

【十三】【算法分析与设计】二分查找(1)

704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4…

实时数仓的另一种构建方法starRocks的物化视图

一、 StarRocks是什么 StarRocks是一个分布式的、高性能的OLAP(联机分析处理)数据库,物化视图在StarRocks中具有重要作用。 二、 StarRocks物化视图能干啥 物化视图(Materialized Views)是数据库中的预先计算结果的存储。它们是由一个或多个基础表的聚合数据组成的,这…

win10笔记本在显示设置中不慎将主显示器禁用掉导致开机黑屏的解决方案

因为笔记本电脑的显示扩展接口有问题,所以在电脑开机之后,会误识别出几个不存在的扩展屏幕,所以我就想从显示设置中将这几个误识别出来的扩展屏幕禁用掉(不然鼠标总是移动到主屏幕边界之外的地方),在显示设…

2024年腾讯云GPU服务器价格表_1小时费用_一个月价格和一年优惠

腾讯云GPU服务器怎么收费?GPU服务器1小时多少钱?一个月收费价格表和一年费用标准,腾讯云百科txybk.com分享腾讯云GPU服务器GPU计算型GN10Xp、GPU服务器GN7、GPU渲染型 GN7vw等GPU实例费用价格,以及NVIDIA Tesla T4 GPU卡和V100详细…

【SZU计算机网络实验】实现流式视频传输

前言 一百年没有更新博客了,都怪开学一堆杂活(x 那就顺手把实验报告转到这边吧owo 本实验为SZU原创实验,实验开发团队的老师和助教们都很有耐心。。大赞,环境没配好去群里问是秒回的 相关资料: 实验文档&#xff…

突破编程_C++_C++11新特性(forward_list)

1 std::forward_list 的概述 1.1 什么是 std::forward_list? std::forward_list 是 C 标准模板库(STL)中的一个容器,它表示一个单向链表。相比于 std::list,std::forward_list 在存储和操作上更加简洁,从…

k8s详细教程

Kubernetes详细教程 1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点…

JavaScript高级(十八)---进程和线程,宏任务和微任务

进程和线程 进程(process):计算机已经运行的程序,是操作系统管理程序的一种方式,我们可以认为,启动一个应用程序,就会默认启动一个进程(也可能是多个进程)。 线程&…

行业模板|DataEase制造行业大屏模板推荐

DataEase开源数据可视化分析平台于2022年6月发布模板市场(https://templates-de.fit2cloud.com),并于2024年1月新增适用于DataEase v2版本的模板分类。模板市场旨在为DataEase用户提供专业、美观、拿来即用的大屏模板,方便用户根据…

智能合约 之 ERC-721

ERC-721(Non-Fungible Token,NFT)标准 ERC-721是以太坊区块链上的一种代币标准,它定义了一种非同质化代币(Non-Fungible Token,NFT)的标准。NFT是一种加密数字资产,每个代币都具有独…

【计算机网络_网络层】IP协议

文章目录 1. IP的基本概念1.1 什么是IP协议1.2 为什么要有IP协议 2. IP的协议格式3. 网段划分(重要)3.1 为什么要进行网段划分3.2 网段划分的规则3.2.1 古老的划分方案3.2.2 现代的划分方案 4. 特殊的IP地址5. 解决IP地址的数量限制问题6. 私有IP和公网I…

深入浅出Reactor和Proactor模式

Reactor模式和Proactor模式是两种常见的设计模式,用于处理事件驱动的并发编程。它们在处理IO操作时有着不同的工作方式和特点。 对于到来的IO事件(或是其他的信号/定时事件),又有两种事件处理模式: Reactor模式&…

HarmonyOS NEXT应用开发之元素超出List区域

介绍 本示例介绍在List组件内实现子组件超出容器边缘的布局样式的实现方法。 List组件clip属性默认为true,超出容器边缘的子组件会按照List的布局范围被裁剪。为此,可以在List组件内部添加一个占位的ListItem,以达到预期的布局效果。List占…

每日一题-spring中的设计模式

1、 spring中的设计模式 工厂模式(Factory Pattern):Spring使用工厂模式来创建和管理对象。通过ApplicationContext,Spring可以作为一个工厂,负责创建、初始化和返回应用程序所需的对象。 单例模式(Singlet…

【vscode 常用扩展插件】

vscode 常用扩展插件 常用插件部分插件使用技巧1、eslint 保存自动格式化2、代码片段的使用3、最后是关于引入文件路径提示的 常用插件 记录vscode方便开发的扩展插件,方便换电脑时,快速部署所需环境。 部分插件 1、Auto Close Tag html自动闭合标签插…

React——class组件中setState修改state

class组件中通过state去存储当前组件的数据,那怎么对其进行修改呢?就是方法this.setState({ 要修改的部分数据 }) setState() 作用:1 、修改 state 内容;2 、更新 UI 特别注意:react的核心其实是虚拟dom(数…

WebSocket 和SSE的区别以及优缺点

WebSocket 和 Server-Sent Events(SSE)都是用于实现服务器向客户端推送消息的技术,但它们有一些重要的区别: 1.双向 vs 单向:WebSocket 是全双工的,这意味着服务器和客户端可以同时发送和接收消息。而 SSE …

【项目实践Day06】异步请求与同步请求+Ajax+微信小程序上实现发送异步请求

什么是同步和异步 同步 在主线程上排队执行的任务,只有前一个任务执行完毕,才能继续执行下一个任务。也就是一旦调用开始,就必须等待其返回结果,程序的执行顺序和任务排列顺序一致。客户端必须等待服务器端的响应。在等待的期间客…