Ubuntu下多个gcc版本之间的切换

1.查看当前系统的gcc版本

gcc -v

会输出以下信息:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04)

2.查看系统中安装了哪些gcc版本

ls /usr/bin/gcc*

/usr/bin/gcc    /usr/bin/gcc-ar    /usr/bin/gcc-nm    /usr/bin/gcc-ranlib
/usr/bin/gcc-5 /usr/bin/gcc-ar-5 /usr/bin/gcc-nm-5 /usr/bin/gcc-ranlib-5
/usr/bin/gcc-7 /usr/bin/gcc-ar-7 /usr/bin/gcc-nm-7 /usr/bin/gcc-ranlib-7

可以看出我系统中安装了两个gcc版本,一个是gcc-5的版本,一个是gcc-7的版本

3.如果我想安装某个版本的gcc,可以用sudo apt install gcc-version安装,比如说我想安装gcc-6,则命令为sudo apt install gcc-6

下载完后,需要执行一条命令,格式为:update-alternatives: --install 需要 <链接> <名称> <路径> <优先级>

执行:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 2

4.切换系统的gcc版本

使用sudo update-alternatives --config gcc打开gcc的设置项,如下图:

输入选择下面的编号,回车即可切换到指定的gcc版本

5.验证,用gcc -v查看当前版本

最新文章

  1. 用vue.js学习es6(五):set和map的使用
  2. Deep Learning入门视频(下)之关于《感受神经网络》两节中的代码解释
  3. myeclipse 10打开status.xml 卡死
  4. [修正] Berlin 10.1 支持 iPhone 4 (iOS v7.x)
  5. 设计模式:桥连模式(Bridge)
  6. jquery的ajax向ashx传值,中文乱码问题
  7. centos下安装nagios
  8. c判断括弧是否匹配
  9. (转载)VC/MFC 工具栏上动态添加组合框等控件的方法
  10. hadoop笔记之Hive入门(什么是Hive)
  11. 我用过的linux命令--安装JDK
  12. redisTemplate keys方法 为空
  13. 利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件
  14. Linux Framebuffer驱动剖析之一—软件需求
  15. Prefer ThreadLocalRandom over Random
  16. CodeForces #549 Div.2 ELynyrd Skynyrd 倍增算法
  17. react中的hoc和修饰器@connect结合使用
  18. WinForm 多语言处理
  19. oracle查看用户属于哪个表空间
  20. WordPress函数wp_page_menu详解

热门文章

  1. selenium3 web自动化测试框架 二:页面基础操作、元素定位方法封装、页面操作方法封装
  2. java中序列化的作用
  3. 【计算机】DMA原理2
  4. 如何下载spring sts
  5. 牛客小白月赛16 H 小阳的贝壳 (差分+线段树)
  6. IDEA配置之tomcat相关配置
  7. Eureka【故障演练分析】
  8. # 滚动Hash
  9. shell习题第19题:最常用的命令
  10. QAbstractItemModel使用样例与解析(Model::index使用了createIndex,它会被销毁吗?被销毁了,因为栈对象出了括号就会被销毁)