Ubuntu18.04将高版本gcc7.5降低为低版本gcc3.4

时间:2020-04-11
本文章向大家介绍Ubuntu18.04将高版本gcc7.5降低为低版本gcc3.4,主要包括Ubuntu18.04将高版本gcc7.5降低为低版本gcc3.4使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

基础知识

dpkg

“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。

gcc与g++

gcc: GNU C Compiler
g++: GNU C++ Compiler
二者均属于the GNU Compiler Collection,先有的gcc后来才有g++。
一般都不怎么区分二者,大部分认为g++就是编译c++的,gcc就是编译c的。但是它们之间的区别还是不能忽视,在编译项目的时候不能盲目的使用g++,区别如下

  • g++可以自动链接C++标准库,如C++内的string、vector
  • gcc可以根据文件后缀自动识别是C还是C++文件(似乎没什么作用)
  • gcc编译C文件要比gcc编译C++文件有更少的宏定义(gcc可以编译C++,需要在后面加上-lstdc++,作用是链接C++库)

Debian

deb是Debian软件包格式的文件扩展名,Ubuntu和Debian都是最具影响力的Linux发行版。Debian比较适合服务器,非常的稳定。Ubuntu也很稳定,但是拥有比较丰富的桌面软件,更符合桌面操作系统的概念。Ubuntu可以说是来自Debian,但是也具有很大的区别。

环境准备

我的Ubuntu内已经有了7.5版本的gcc和g++,由于操作系统课设需要gcc3.4的环境,我不得不再安装一个gcc3.4。同时我也不想卸载原来的gcc7.5,只有让它们共存才行。下图为目前的gcc和g++版本:

gcc多版本共存

1.下载gcc3.4的deb软件包

打开deb软件包的地址之后,找到下图所示的几个文件并下载,注意一定不要下载错了文件。后缀amd64的含义是64位系统,i386的含义是32位系统,ia64像我们这种平民一般都没用过。

2.安装gcc3.4的deb软件包

sudo dpkg --force-depends -i gcc-3.4-base_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i gcc-3.4_3.4.6-6ubuntu3_amd64.deb 
sudo dpkg --force-depends -i cpp-3.4_3.4.6-6ubuntu3_amd64.deb 
sudo dpkg --force-depends -i g++-3.4_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i libstdc++6-dev_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i g77-3.4_3.4.6-6ubuntu3_amd64.deb
sudo dpkg --force-depends -i libg2c0-dev_3.4.6-6ubuntu3_amd64.deb

3.检查gcc3.4的安装情况

3.1检查gcc

ls /usr/bin/gcc* -ll

如果出现gcc3.4则表示安装成功

3.2检查g++

ls /usr/bin/g++* -ll


如果出现g++3.4则表示安装成功

4.设置新旧版本gcc的优先级

  • 设置gcc3.4的优先级为30,gcc7的优先级为70,优先级可随意设定,根据我的习惯就这样设置。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 30
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
  • 设置g++3.4的优先级为30,g++7的优先级为70
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-3.4 30
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70

5.切换gcc版本

5.1切换gcc版本为3.4

sudo update-alternatives --config gcc

5.2切换g++版本为3.4

sudo update-alternatives --config g++

6.检查gcc版本


总结

gcc和g++版本最好保持一致,要不然可能在以后编译make阶段会出问题。
Ubuntu操作不熟悉,好累

原文地址:https://www.cnblogs.com/mirage-mc/p/12681366.html