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++版本:
Ubuntu18.04将高版本gcc7.5降低为低版本gcc3.4
Ubuntu18.04将高版本gcc7.5降低为低版本gcc3.4

gcc多版本共存

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

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

更新:g77和libg2c0-dev这两个不要安装,安装了会导致Ubuntu出现依赖缺失问题

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

sudo dpkg --force-depends -i gcc-3.4-base_3.4.6-6ubuntu3_amd64.deb

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

sudo dpkg --force-depends -i gcc-3.4_3.4.6-6ubuntu3_amd64.deb 

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

sudo dpkg --force-depends -i cpp-3.4_3.4.6-6ubuntu3_amd64.deb 

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

sudo dpkg --force-depends -i g++-3.4_3.4.6-6ubuntu3_amd64.deb

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

sudo dpkg --force-depends -i libstdc++6-dev_3.4.6-6ubuntu3_amd64.deb

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

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

3.1检查gcc

ls /usr/bin/gcc* -ll

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

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

3.2检查g++

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

Ubuntu18.04将高版本gcc7.5降低为低版本gcc3.4
如果出现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

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

  • 设置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

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

5.切换gcc版本

5.1切换gcc版本为3.4

sudo update-alternatives --config gcc

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

5.2切换g++版本为3.4

sudo update-alternatives --config g++

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

6.检查gcc版本

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

总结

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

原文链接: https://www.cnblogs.com/mirage-mc/p/12681366.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/341417

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午1:04
下一篇 2023年3月2日 上午1:05

相关推荐