gcc升降级

本文介绍如何在Ubuntu系统中将GCC版本从4.6或4.8降级到4.4,包括安装指定版本的GCC和C++编译器,以及通过修改软链接确保编译过程中使用正确的GCC版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文部分转载自:blog.youkuaiyun.com/sdustliyang/article/details/9246451

ubuntu 12.04 gcc版本4.6,14.04的gcc 是4.8版本的,在编译安卓源码的过程中可能会出现一些莫名其妙的问题编译不过,这时就需要将gcc版本降低,自己用Ubuntu 12.04编译android 4.4的源码时gcc没有降级,编译过了,但是要编译android 4.0的时候,出了很多问题,当然也可能不是gcc的问题,但还是把gcc 降级到4.4,最后编译android 4.0的源码也通过了。

 由gcc -v命令可以发现gcc库在/usr/lib/gcc/i686-linux-gnu目次下,该目次下有当前体系支撑的各类版本gcc库 。在安装gcc 4.4前该目次下是没有4.4目次的,安装gcc 4.4后该目次下就会多出4.4这个目次,且该4.4目次下有各类相应库文件。


ubuntu 32bit体系下安装gcc 4.4的最好办法是仅用以下两条号令,不须要其它号令,不然编译时可能会失足。 

sudo apt-get install gcc-4.4 

sudo apt-get install g++-4.4 


装完后在/usr/bin目次下

¥ ls -l gcc*

lrwxrwxrwx 1 root root      7 2011-10-29 09:11 gcc -> gcc-4.6

-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4

-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6

发明gcc 链接到gcc-4.6,  须要将它改为链接到gcc-4.4 :

sudo mv gcc gcc.bak 

sudo ln -s gcc-4.4 gcc


同理
ls -l g++*

 lrwxrwxrwx 1 root root      7 2011-08-14 15:17 g++ -> g++-4.6

-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4

-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6

须要将g++链接改为g++-4.4: 

/usr/bin¥ sudo mv g++ g++.bak

/usr/bin¥sudo ln -s g++-4.4 g++ 


再查看gcc和g++版本号:

 gcc -v

g++ -v

 均显示gcc version 4.4.6 ,申明gcc 4.4安装成功。


上面是一种通过修改gcc和g++的软连接来实现gcc降级的,好像还有一种是通过不同版本的gcc的优先级来实现降级的,这种没试过,上面的我试过,是可以的。

### 如何在Linux系统上将GCC降级到指定版本 为了在Linux系统上安装特定版本的GCC,通常需要先卸载当前已有的GCC版本。对于基于Debian/Ubuntu系统的操作环境而言,在执行任何更改之前备份现有数据非常重要[^1]。 #### 卸载现有的GCC编译器 可以通过包管理工具来移除默认安装的GCC及其关联组件: ```bash sudo apt-get remove --purge gcc g++ cpp build-essential ``` #### 添加旧版软件源并更新APT缓存 如果目标版本较老,则可能不在官方仓库中提供。此时可以考虑添加第三方PPA(Personal Package Archive),或是直接下载对应.deb文件手动安装。例如要获取更早版本的GCC支持,可尝试如下命令向系统引入额外资源库: ```bash sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update ``` #### 安装所需的具体版本号 一旦准备就绪,就可以通过`apt-cache showpkg gcc`查看可用选项,并利用全名精确指明希望获得哪个发行版: ```bash sudo apt-get install gcc-<version> g++-<version> ``` 这里`<version>`应替换为实际期望设置的目标编号,比如gcc-7代表第七代产品线。 #### 设置默认使用的GCC版本 即使在同一台机器上有多个不同年代的实例共存,也可以借助update-alternatives机制轻松切换活动状态: ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-X Y sudo update-alternatives --config gcc ``` 其中X表示次要版本标记(如4.8),而Y则是优先级评分;后者决定了当用户未特别指定时,默认会选择哪一个解释程序处理C语言源码。 最后提醒一点,上述过程适用于大多数情况下的常规需求满足,但对于某些特殊应用场景来说或许并不完全适用,请务必提前做好充分调研工作再做决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值