ubuntu16.04中的gcc版本及版本切换

Ubuntu16.04多个版本GCC编译器的安装和切换 文章目录1 查看Ubuntu16.04版本的原装GCC版本:2 安装目前需要GCC和G++的版本3 将某个版本加入gcc候选中4 选择不同的gcc和g++的版本 1 查看Ubuntu16.04版本的原装GCC版本: gcc -v #查看gcc的版本 g++ -v #查看g++的版本 2 安装目前需要GCC和G++的版本 有两种方法可以安装所需要的版本。 1.可以选择apt-get安装方式,在终端... 阅读详情

最近发现gcc版本对于编译类似于opencv,caffe等等都是有版本需求的。之前一直是去重新装gcc。但是昨天发现其实可以安装多个gcc版本互相切换的。我大概发现了两种方法,当然还可能有其他的,暂不去探究。当然也必然是参考其他大神的做法加以总结以便后用?

在说方法之前,先普及一下查询的命令:

gcc -v # 用于查询当前版本
which gcc # 查询gcc所在位置(/usr/bin/gcc)
/usr/bin/gcc -v # 也可查询版本
ll /usr/bin/gcc* # 也可用于gcc查询版本

方法一:(我倾向于这个,因为比较方便)

安装时使用apt源安装。涉及ubuntu中的一个工具:update-alternatives是系统中专门维护系统命令链接符的工具。搜了一些些介绍:这个命令会建立很软链接,当切换版本的时候,只需要更改软链接的指向。总结一下这个命令很有用,不仅仅局限于gcc的版本管理,像java的版本也可以使用这个管理,需要再做探究。这里仅仅是一个小小的使用。

1、gcc安装命令:

sudo apt-get install gcc-4.7 gcc-4.7-multilib g++-4.7 g++-4.7-multilib
sudo apt-get install gcc-5 gcc-5--multilib g++-5 g++-5-multilib
sudo apt-get install gcc-6 gcc-6--multilib g++-6 g++-6-multilib

这里我安装了4.7版本,因为matlab2015a对应于这个版本,而这里的5真正的版本号为5.5,而6对应的是6.5。这里需要声明的是apt源中并没有包含所有的版本,比如说5.4,6.3,都无法找到。如果必须其他版本可通过编译得,见方法二。

查找的命令也可普及一下(可忽略):

sudo apt-cache search gcc # gcc可替换为其他包名,同样是有效的查询
sudo apt-cache show gcc #展示版本号

2、update-alternatives的设置

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 20 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40 --slave /usr/bin/g++ g++ /usr/bin/g++-5

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 30 --slave /usr/bin/g++ g++ /usr/bin/g++-6

# 20,40,30这些表示的是优先级,可根据需要选定,优先级高的即为默认的。

3、选择所需版本

sudo update-alternatives --config gcc

根据所需要的版本选择1,2,3即可。非常方便。

删除方法:

sudo update-alternatives --remove gcc /usr/bin/* # *为指定版本,如gcc-5
# 删除这个后再通过源卸载
sudo apt-remove --省略--

方法二:

根据源码编译,自己创建软链接,根据需求更改软链接。比较麻烦。

源码地址:https://ftp.gnu.org/gnu/gcc

1、安装命令

# 一、下载源码
# 二、解压缩,进入目录
./contrib/download_prerequisites
mkdir build
cd build
# 下一条命令可根据需求改动,可以进一步查询
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j16 # 开始编译
sudo make install

# 如果卸载
cd build
cd gcc
sudo make uninstall

2、每次重新建立符号连接,删除以前的链接,但是我没有尝试过,可自行尝试。当初查到的也不知道是哪篇文了,如果需要,可自行查询。

# 建立链接
cd /usr/bin
sudo ln -s /自己编译的位置/build/bin/gcc gcc

# 删除链接
cd /usr/bin
sudo rm gcc

 

Docker容器n8n中 read/write files from disk 无法读取容器内文件解决方案 《n8n文件读写Docker部署常见问题解决方案》摘要:针对n8n 1.90.2版本在Docker环境下文件读写失败问题,本文分析常见错误包括路径错误(ENOENT)、权限不足(EACCES)及节点误用问题。核心解决方案为:1)通过-v参数挂载宿主机目录到容器(如/files);2)使用新版Read/WriteFilesfromDisk节点操作文件;3)确保权限设置正确。提供可直接导入的示例工作流JSON,演示从CSV读取到结构化数据处理的全流程。特别强调已部署用户需重新挂载卷的正确操作方式,并附解决方案对 阅读详情

相关推荐

ParallelsDesktop 安装 CentOS-6.9-x86_64-minimal 教程

安装参考 tools没做 想安装的可以参考这个 mac 本机环境: 系统:macOS Catalina version 10.15.6 虚拟机软件:parallels Desktop 15 for Mac( Parallels Desktop-15.1.4(47270)) Centos镜像: CentOS-6.9-x86_64-minimal.iso https://mirrors.aliyun.com/centos-vault/6.8/isos/x86_64/ http://vault.centos.

爱吃鱼的小明的博客 955

一些与编译,链接相关的问题

2009-08-28 03:27 P.M. 地址无关代码,在64位下编译动态库的时候,经常会遇到下面的错误  /usr/bin/ld: /tmp/ccQ1dkqh.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPI

nciaebupt 1333

逆向分析踩坑记:当Frida在x86模拟器上‘看不见’ARM的so文件时,我们该如何手动定位与验证?

本文探讨了在x86模拟器上使用Frida进行逆向分析时,无法检测到ARM架构so文件的解决方案。通过分析内存映射、Frida的视觉盲区及手动定位技术,提供了兼容层、混合调试和原生ARM环境三种实用方案,帮助逆向工程师突破工具限制,实现精准定位与验证。

weixin_27697385的博客 222

GCC动态链接库规范和问题

对于动态链接库,实际的符号定位是在运行期进行的,在编译.so的时候,如果没有把它需要的库和他一起进行联编,比如libx.so 需要使用uldict, 但是忘记在编译libx.so的时候加上-luldict的话,在编译libx.so的时候不会报错,因为这个时候libx.so被认为是一个库,它里面存在一些不知道具体实现的符号是合法的,是可以在运行期指定或者编译另外的二进制程序的时候指定。(2) 连接库参数的顺序不对。(4) /lib 和 /usr/lib (64位下是/lib64和/usr/lib64)

HideInTime的博客 769

华为IC岗笔试刷题含答案(2)

又做了几套题,记录了部分及答案,如有错误,欢迎评论指正。

Ingrid的博客 1万+

hcaptcha-challenger:基于本地AI模型自动破解验证码的工程实践

验证码作为区分人类与机器的经典安全机制,其核心原理是通过图像识别、行为分析等交互式挑战来阻挡自动化程序。传统绕过方法依赖第三方打码平台或脚本,存在成本高、稳定性差的问题。随着多模态大语言模型和计算机视觉技术的发展,本地化AI求解成为新的技术方向,它通过集成YOLO、ResNet等模型,在本地完成图像语义理解,实现了高隐私、低成本、可进化的验证码自动化解决方案。这种范式尤其适用于需要大规模稳定处理网页交互的场景,如电商数据采集和社交媒体管理。hcaptcha-challenger项目正是这一理念的工程实践,它

weixin_42587866的博客 1028

Ubuntu16.04升级gcc、g++版本

ubuntu16.04默认gcc和g++版本是5.4.0。

weixin_45747535的博客 5498

第三方系统(异构系统)基于token身份认证方式访问Ecology9的Restful接口Ecology9服务器配置部分

通过Token的认证方式调用Ecology9系统Restful业务接口服务器配置部分

svsou的专栏 2176

Ubuntu16.04下安装多版本gcc和g++教程

安装gcc7.5,多版本管理

weixin_43592742的博客 3278

IIS - 会话cookie中缺少HttpOnly属性

不啰嗦,我们直接开始! 先进行常规设置 打开配置编辑器 选中图中节点,将httpOnlyCookies设置为true 然后。。。不起作用。。。 换种方式 通过配置出站规则getcookie添加HttpOnly 在Web.config中添加如下出站规则 <rewrite> <outboundRules> <rule name="Add HttpOnly"> <match serverVa.

。 21万+

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 866

ubuntu16.04升级GCC/G++到5.4.1(原来自带的版本)

1.$ sudo apt-get remove gcc2.$ sudo apt-get install gcc

予非池物 7178

基于Xilinx XDMA 的PCIE通信

基于Xilinx XDMA 的PCIE通信 概述:   想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。实践实践!!! 说明: 参考文档: PCI Express Base Specification Revision 3.0 PCI Express Base Specification Revision 5.0 pg195-pcie-dma PCI Express体系

Crazzy_M的博客 1万+

Ubuntu16.04下安装并快速切换gcc版本

linux下gcc版本切换 起因是最近在ubuntu中安装了多个gcc版本,想要方便地实现版本互相切换,就发现了这个方法,不局限于gcc,它还可以更改比如java的配置。具体相关,goolge update-alternatives可以得到详细解答。 再讲具体方法之前,可以先查询下自己ubuntu中的gcc版本,通过以下命令: gcc -v # 用于查询当前版本 which gcc # 查询gcc所在位置(一般为/usr/bin/gcc) 查询得到linux中gcc原来版本为5.5.0 gcc -6安

weixin_44810857的博客 1019

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ubuntu 16.04中的gcc版本切换

引用自别处,做个笔记,方便以后学习 ubuntu16.04中的gcc版本及版本切换

阿乐的博客 906

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Ubuntu16.04多个版本GCC编译器的安装和切换[ZZ]

这几天在配置交叉编译ARM开发板的linux内核的过程中碰到了很多问题,其中包括了GCC版本太高等问题,由此我打算安装其他老的版本给我的Ubuntu16.04.实验过程如下: 官网的教程是最牛逼的,先看看官网的安装教程吧:https://gcc.gnu.org/install/ 1、首先查看一下当前我的Ubuntu16.04版本的原装GCC版本: gcc -v #查看gcc的版本 g++ -v #查看g++的版本 如上图所示:GCC的版本是5.4.0(这对我编译某些很早的内核文件的确是太新..

读书 行路 做人 成事 1147

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ubuntu 16.04对gcc降级,多版本任意切换

1. 首先安装gcc,g++ sudo apt-get install gcc-4.8 sudo apt-get install g++-4.8 2. 设置默认的gcc版本 查看当前版本,正常会返回ubuntu16.04自带的5.4.0这个版本号。 gcc --version 再次确定gcc-4.8.5 是否安装好 ls /usr/bin/gcc* 3. 设置各个版本的优先级 sudo up...

m0_37844017的博客 3201

Ubuntu16.04安装与切换多个gcc版本

Ubuntu16.04自带的gcc版本为5.4.0,由于部分软件编译需要低版本的gcc,例如SPEC CPU2006运行需要gcc版本不能高于4.7。

yaya_Quooo的博客 1141

ubuntu 16.04 gcc高低版本切换

  ubuntu 16.04 自带版本为gcc-5.4.0 开发过程有时需要使用更低版本编译器,如gcc-4.4.7.  直接采用:sudo apt-get install g++-4.4 安装会报错: E: Package 'g++-4.4' has no installation candidate 解决步骤: 1.打开apt-get源,增加内容。  vim /etc/apt/sou...

wuzhike的博客 5463

ubuntu16.04安装gcc g++7.5.0 添加版本优先级及各个版本的切换

环境 ubuntu16.04 1.安装gcc7.3.0 g++7.3.0 sudo ppa-purge ppa:jonathonf/gcc-7.3 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-7 sudo apt-get install g++-7 这里其实有一个问题,我指定的是7.3版本的,安装的却是7.5的,不过问题不大. 2.添加版本及优先级 2.1g

HelloJinYe的博客 4217

Ubuntu16.04 切换系统python和gcc版本

【代码】Ubuntu16.04 切换系统python和gcc版本。

Cristina的博客 1069

Ubuntu16.04多个版本GCC编译器的安装和切换【转】

本文转载自:https://www.cnblogs.com/uestc-mm/p/7511063.html 这几天在配置交叉编译ARM开发板的linux内核的过程中碰到了很多问题,其中包括了GCC版本太高等问题,由此我打算安装其他老的版本给我的Ubuntu16.04.实验过程如下: 官网的教程是最牛逼的,先看看官网的安装教程吧:https://gcc.gnu.org/install/ 1、首先...

zzb2760715357的博客 166

Ubuntu16.04下多个gcc版本的切换

说明:以 gcc 5.5 切换到 gcc 4.8 为例 (1)查看系统 gcc 版本: gcc -v >>> gcc version 5.5.0 20171010 (Ubuntu 5.5.0-12ubuntu1~16.04) (2)查看当前已有的 gcc 版本: ls /usr/bin/gcc* >>> /usr/bin/gcc /usr/bin...

学习 & 分享 ~ 4724

ubuntu16.04下切换g++和gcc版本

.

mjj1024的博客 889

ubuntu16.04下gcc/g++多版本共存和切换(11/14/17/20),以及在CMake文件中的相关设置

今天发现GitHub的PCL点云库的1.10.0版本已经发布快一个月了,这刚好离我在家隔离快一个的时间差不多。果断下载其Release版本使用cmake配置编译选项并进行编译,结果发现问题怎么这么多。其实,如果不编译CUDA和GPU相关的模块的话,一般也不会存在什么问题。 结果当我我选择编译CUDA和GPU模块之后,出现各种问题,比如使用标准STL库中的shared_ptr来替换掉之前Boost库...

小强的机器人工坊 6325
上一篇: N次编译opencv3.4.0后之感
下一篇: Pycharm关于mxnet使用错误
小小usper
博客等级 码龄9年 76粉丝 41原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值