gcc和g++降级、升级_Ubuntu18 LTS

前言

由于很多开发环境所用的环境都是比较追求稳定,或者未跟上编译器的更新速度;还有有些代码是依赖于gcc/g++的内建特性的。导致有些用新版本的gcc/g++编译时无法通过,或者编译后无法正常运行的。就需要对自带的编译器进行升级或者降级。

步骤说明

笔者这里需要用版本低一点的gcc/g++工具链,需要对Ubuntu18 LTS自带的7.3.0进行降级操作。以下是流程:

  • 安装gcc-4.8和g+±4.8
  $ sudo apt install gcc-4.8 gcc-4.8-multilib g++-4.8 g++-4.8-multilib
  • 查找原gcc/g++所在目录
  $ which gcc
  $ /usr/bin/gcc
  • 重新创建gcc软链接
  $ sudo ln -sf /usr/bin/gcc-4.8        /usr/bin/gcc
  $ sudo ln -sf /usr/bin/gcc-ar-4.8     /usr/bin/gcc-ar
  $ sudo ln -sf /usr/bin/gcc-nm-4.8     /usr/bin/gcc-nm
  $ sudo ln -sf /usr/bin/gcc-ranlib-4.8 /usr/bin/gcc-ranlib 
  $ sudo ln -sf /usr/bin/gcov-4.8       /usr/bin/gcov

  $ ls -al /usr/bin/gc*
  lrwxrwxrwx 1 root root     16 12月 25 22:13 /usr/bin/gcc -> /usr/bin/gcc-4.8
  -rwxr-xr-x 1 root root 772280 3月  19  2018 /usr/bin/gcc-4.8
  lrwxrwxrwx 1 root root     22 7月  26 20:25 /usr/bin/gcc-7 -> x86_64-linux-gnu-gcc-7
  lrwxrwxrwx 1 root root     19 12月 25 22:13 /usr/bin/gcc-ar -> /usr/bin/gcc-ar-4.8
  -rwxr-xr-x 1 root root  27088 3月  19  2018 /usr/bin/gcc-ar-4.8
  lrwxrwxrwx 1 root root     25 7月  26 20:25 /usr/bin/gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7
  lrwxrwxrwx 1 root root     19 12月 25 22:13 /usr/bin/gcc-nm -> /usr/bin/gcc-nm-4.8
  -rwxr-xr-x 1 root root  27088 3月  19  2018 /usr/bin/gcc-nm-4.8
  lrwxrwxrwx 1 root root     25 7月  26 20:25 /usr/bin/gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7
  lrwxrwxrwx 1 root root     23 12月 25 22:13 /usr/bin/gcc-ranlib -> /usr/bin/gcc-ranlib-4.8
  -rwxr-xr-x 1 root root  27088 3月  19  2018 /usr/bin/gcc-ranlib-4.8
  lrwxrwxrwx 1 root root     29 7月  26 20:25 /usr/bin/gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7
  -rwxr-xr-x 1 root root   3405 4月   9  2018 /usr/bin/gcore
  lrwxrwxrwx 1 root root     17 12月 25 22:13 /usr/bin/gcov -> /usr/bin/gcov-4.8
  -rwxr-xr-x 1 root root 318472 3月  19  2018 /usr/bin/gcov-4.8
  lrwxrwxrwx 1 root root     23 7月  26 20:25 /usr/bin/gcov-7 -> x86_64-linux-gnu-gcov-7
  lrwxrwxrwx 1 root root     11 9月  17 15:07 /usr/bin/gcov-dump -> gcov-dump-7
  lrwxrwxrwx 1 root root     28 7月  26 20:25 /usr/bin/gcov-dump-7 -> x86_64-linux-gnu-gcov-dump-7
  lrwxrwxrwx 1 root root     11 9月  17 15:07 /usr/bin/gcov-tool -> gcov-tool-7
  lrwxrwxrwx 1 root root     28 7月  26 20:25 /usr/bin/gcov-tool-7 -> x86_64-linux-gnu-gcov-tool-7
  -rwxr-xr-x 1 root root  10312 3月  13  2018 /usr/bin/gcr-viewer
  • 重新创建g++软链接
  $ sudo ln -sf g++-4.8 /usr/bin/g++

  $ ls -al /usr/bin/g+*
  lrwxrwxrwx 1 root root     16 12月 25 22:13 /usr/bin/g++ -> /usr/bin/g++-4.8
  -rwxr-xr-x 1 root root 776376 3月  19  2018 /usr/bin/g++-4.8
  lrwxrwxrwx 1 root root     22 7月  26 20:25 /usr/bin/g++-7 -> x86_64-linux-gnu-g++-7

查看结果

  $ gcc -v
  Using built-in specs.
  COLLECT_GCC=gcc
  COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
  Target: x86_64-linux-gnu
  Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.5-4ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  Thread model: posix
  gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8)

  $ g++ -v
  Using built-in specs.
  COLLECT_GCC=g++
  COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
  Target: x86_64-linux-gnu
  Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.5-4ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
  gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8)

说明:降级与升级类似,替换软链接源即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值