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

Linux中如何安装特定的gcc版本

Linux允许多个版本的gcc共存,当你需要安装多个版本的gcc的时候,比如同时安装gcc-7和gcc-8,你可以通过 update-alternatives 来重定位你想使用的gcc版本。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

如果你想改变使用的版本,那就运行一下这条命令吧,

sudo update-alternatives --config gcc

通常这个命令会给出一些提示,

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path            Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-8   800       auto mode
  1            /usr/bin/gcc-7   700       manual mode
  2            /usr/bin/gcc-8   800       manual mode

Press <enter> to keep the current choice[*], or type selection number: 

然后根据提示操作就可以了。

想要更多的信息,你可以搜索了解update-alternatives的具体用法,例如,

linux软件版本管理命令update-alternatives使用详解_hellocsz的博客-CSDN博客_linux软件版本管理

不建议卸载默认的gcc,尤其是你的程序依赖build-essentials的时候。

另外一个方法,就是你必须选择你熟悉的包来安装,比如你想安装gcc-9,或者是其子版本比如gcc-9.3.0,那么你可以先apt查找一下,

~$ apt search gcc | grep 9.3.0

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

cpp/focal,now 4:9.3.0-1ubuntu2 amd64 [已安装,自动]
cpp-aarch64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-alpha-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
cpp-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
cpp-hppa-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-m68k-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-powerpc64le-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-riscv64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-sh4-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
cpp-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
cpp-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
g++-mingw-w64/focal,focal 9.3.0-7ubuntu1+22~exp1ubuntu4 all
g++-mingw-w64-i686/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
g++-mingw-w64-x86-64/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gcc/focal 4:9.3.0-1ubuntu2 amd64
gcc-aarch64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-alpha-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gcc-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gcc-doc/focal 4:9.3.0-1ubuntu2 amd64
gcc-hppa-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-hppa64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-m68k-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-mingw-w64/focal,focal 9.3.0-7ubuntu1+22~exp1ubuntu4 all
gcc-mingw-w64-base/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gcc-mingw-w64-i686/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gcc-mingw-w64-x86-64/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gcc-multilib/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-multilib-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gcc-multilib-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
gcc-offload-nvptx/focal 4:9.3.0-1ubuntu2 amd64
gcc-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-powerpc64le-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-riscv64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-riscv64-unknown-elf/focal 9.3.0-0ubuntu1 amd64
gcc-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-sh4-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gcc-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gcc-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
gccbrig/focal 4:9.3.0-1ubuntu2 amd64
gfortran/focal 4:9.3.0-1ubuntu2 amd64
gfortran-aarch64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-alpha-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gfortran-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gfortran-hppa-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-m68k-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-mingw-w64/focal,focal 9.3.0-7ubuntu1+22~exp1ubuntu4 all
gfortran-mingw-w64-i686/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gfortran-mingw-w64-x86-64/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gfortran-multilib/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-multilib-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gfortran-multilib-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
gfortran-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-powerpc64le-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-riscv64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-sh4-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gfortran-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gfortran-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
gnat-mingw-w64/focal,focal 9.3.0-7ubuntu1+22~exp1ubuntu4 all
gnat-mingw-w64-i686/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gnat-mingw-w64-x86-64/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gobjc/focal 4:9.3.0-1ubuntu2 amd64
gobjc++/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-aarch64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-alpha-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-hppa-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-m68k-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-mingw-w64/focal,focal 9.3.0-7ubuntu1+22~exp1ubuntu4 all
gobjc++-mingw-w64-i686/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gobjc++-mingw-w64-x86-64/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gobjc++-multilib/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-multilib-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gobjc++-multilib-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-powerpc64le-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-riscv64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-sh4-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc++-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gobjc++-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
gobjc-aarch64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-alpha-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gobjc-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gobjc-hppa-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-m68k-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-mingw-w64/focal,focal 9.3.0-7ubuntu1+22~exp1ubuntu4 all
gobjc-mingw-w64-i686/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gobjc-mingw-w64-x86-64/focal 9.3.0-7ubuntu1+22~exp1ubuntu4 amd64
gobjc-multilib/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-arm-linux-gnueabi/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-arm-linux-gnueabihf/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-i686-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-multilib-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gobjc-multilib-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64
gobjc-powerpc-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-powerpc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-powerpc64le-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-riscv64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-s390x-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-sh4-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-sparc64-linux-gnu/focal 4:9.3.0-1ubuntu2 amd64
gobjc-x86-64-linux-gnu/focal 4:9.3.0-1ubuntu2 i386
gobjc-x86-64-linux-gnux32/focal 4:9.3.0-1ubuntu2 amd64

找出这么一大堆的lib之后, 你就可以挑选你自己想要安装的包用"sudo apt install"安装了,例如,

sudo apt install gcc-x86-64-linux-gnu

相关文章:

  • Ubuntu 20.04 源码编译Paddle2.2.2
  • Ubuntu20.04源码编译PaddleOCR2.4
  • OpenCV导入时报错 ImportError: numpy.core.multiarray failed to import
  • OpenVINO2022.1+open_model_zoo例程的编译与使用
  • OpenCV cv::plugin::impl::DynamicLib::libraryLoad load ..opencv_core_parallel_tbb45 =>FAILED
  • OpenVINO之text_detection_demo
  • Paddle在windows10+vs2019上的源码编译(失败)
  • Tesseract-OCR试运行
  • Tesseract-OCR在Windows10(VS2019+vcpkg)平台上的编译与使用
  • Tesseract-OCR:在Windows10(VS2019+SW)平台上的编译与使用
  • Tesseract-OCR在Ubuntu20.04平台上使用
  • ROS2 Error: Could not find a package configuration file provided by “turtlebot3_msgs“
  • ROS2 + colcon build 常见的一些报错
  • ROS2进阶:安装与初体验(附choco介绍)
  • ROS2进阶:colcon的初步使用--‘colcon‘ is not recognized
  • ----------
  • 0基础学习移动端适配
  • java8-模拟hadoop
  • Java比较器对数组,集合排序
  • Js基础知识(四) - js运行原理与机制
  • Mithril.js 入门介绍
  • React16时代,该用什么姿势写 React ?
  • Vim Clutch | 面向脚踏板编程……
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 项目管理碎碎念系列之一:干系人管理
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 用简单代码看卷积组块发展
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (07)Hive——窗口函数详解
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (3)llvm ir转换过程
  • (层次遍历)104. 二叉树的最大深度
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转) Face-Resources
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)ObjectiveC 深浅拷贝学习
  • .Mobi域名介绍
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Micro Framework初体验
  • .net 反编译_.net反编译的相关问题
  • .net(C#)中String.Format如何使用
  • .NET成年了,然后呢?
  • .NET上SQLite的连接
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .pyc文件是什么?
  • /etc/sudoer文件配置简析
  • [@Controller]4 详解@ModelAttribute
  • [20150904]exp slow.txt
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计