Ubuntu 安装不同版本的 gcc/g++ 编译器

摘要:
首先通过g++--version查看当前系统的g++版本;g++--version//查看当前g++版本可以看到当前的g++版本为7.3.0.通过apt命令查看当前可通过apt安装的g++的版本sudoapt-cachesearchg++|grepg++//查看当前与g++相关的包,并筛选其中包含有g++的行通过上述命令看到目前可使用apt命令安装的g++版本的情况,包括对应不同版本,不同架构的编译器,以及对应的库的支持,一般而言,安装某版本的g++只需要选择对应的g++-n和g++-6-multilib即可。通过apt安装对应所需要的g++版本和库。

主要内容原载自笔者的另一篇博客Ubuntu18.04 使用过程遇到的问题记录。这里单独拿出来便于查阅。

在使用 Matlab R2018b 时,发现其支持的 g++ 版本为 g++ 6.3.0 ,而在 Ubuntu 发行版上,g++ 版本一般随系统升级(有些 distribution 上默认不包含编译环境),所以无法满足上述需求。这里记录下 Ubuntu 环境安装不同版本的 g++ 编译器。

(1) 首先通过 g++ --version 查看当前系统的 g++ 版本;

    g++ --version        //查看当前 g++ 版本

可以看到当前的 g++ 版本为 7.3.0.

Ubuntu 安装不同版本的 gcc/g++ 编译器第1张

(2) 通过 apt 命令查看当前可通过 apt 安装的 g++ 的版本( 显示的信息依赖于上一次进行 apt-get update 的缓存信息)

    sudo apt-cache search g++ | grep g++        //查看当前与 g++ 相关的包,并筛选其中包含有 g++ 的行

通过上述命令看到目前可使用 apt 命令安装的 g++ 版本的情况,包括对应不同版本,不同架构的编译器,以及对应的库的支持,一般而言,安装某版本的 g++ 只需要选择对应的 g++-n 和 g++-6-multilib 即可。

Ubuntu 安装不同版本的 gcc/g++ 编译器第2张

(3) 通过 apt 安装对应所需要的 g++ 版本和库。但是这里注意,使用 apt 安装的 g++ 编译器和相关库的版本只能选择大的版本号如 6 ,而无法指定具体的小版本号 6.3.0,如笔者安装的 g++-6 的版本实际为 g++-6.4.0.

    sudo apt install g++-n g++-n-multilib        //安装对应的 g++ 编译器和库

(4) 通过命令切换不同的 g++ 编译器版本。

通过 update-alternative 为不同版本的编译器创建链接

    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 40    //创建 g++-6 的链接,并指定了优先级 40
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 60    //创建 g++-7 的链接,并指定了优先级 60

优先级用于在系统进行自动选择时确定使用的软件版本,在自动模式下,总是使用优先级高的版本。

    sudo update-alternatives --config g++        //手动选择所需的软件版本

输入上述命令后,直接通过数字索引选择所需的 g++ 版本即可。

Ubuntu 安装不同版本的 gcc/g++ 编译器第3张

上述配置过程除可以用于不同版本的编译器的设置外,还可以用于设置具有相似功能的不同软件的替换和切换,更多原理的介绍可以参考 update-alternatives 命令的帮助文档 man update-alternatives。

免责声明:文章转载自《Ubuntu 安装不同版本的 gcc/g++ 编译器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue:axios拦截器【微信小游戏实战】零基础制作《欢乐停车场》一、游戏设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

centos8上添加sudoer用户

一,检查服务器是否已安装sudo的rpm包? 1,查询rpm包列表 [root@yjweb ~]# rpm -qa | grep sudo libsss_sudo-2.0.0-43.el8_0.3.x86_64 sudo-1.8.25p1-4.el8.x86_64 2,如未安装,执行下面的命令安装: [root@yjweb ~]# yum install...

安装folly库以及folly的ConcurrentHashMap的简单使用

我在写grpc的实例时, 需要使用一个多线程的hash map, C++标准库中没有多线程的hash map, facebook开源的folly中存在大量的基础类, 中间存在一个高性能的hash map,这个正是我所需要的, 所以在这里简介一下folly库, 按照官方说明, folly库安装需要gcc 5.1+ 和支持C++14的编译器编译的boost....

catkin-tools安装

使用catkin build编译时,需要安装catkin-tools Installing on Ubuntu with apt-get sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/...

Ubuntu18.04+GTX1080Ti+CUDA9.0+cuDNN7.0+TensorFlow-GPU1.9环境搭建

注:下面的的驱动版本不要安装最新(默认)的版本,因为会遇到各种问题,将会浪费你的大量时间。(当然大神无视) 环境 系统:Ubuntu 18.04 LTS 显卡:GTX1080Ti CUDA:9.0 cuDNN:7.0 TensorFlow:teansorflow-gpu 1.9 Python版本:3.6 一、安装NVIDIA显卡驱动 1.删除旧的驱动。 原...

Ubuntu 18.04升级matplotlib 3.5

背景 需要使用到matplotlib 3.5的新特性决定升级搜索pip源发现python 3.6最高支持matplotlib 3.2而matplotlib 3.5仅适配python 3.7+ 安装 一定不要尝试卸载18.04自带python 3.6否则系统会崩溃 sudo apt install python3.8 依赖 安装3.8包管理工具 sudo...

Ubuntu12.04下tomcat的安装与配置

1、下载tomcat 我的tomcat是从 http://tomcat.apache.org/download-70.cgi 这里下载的tar.gz版本的. 2、解压tomcat $sudo tar zxvf jakarta-tomcat-5.5.9.tar.gz -C /opt $sudo mv /opt/jakarta-tomcat-5.5.9 /op...