Ubuntu下切换GCC版本

本文介绍了在Ubuntu 12.04系统中如何安装和切换不同版本的GCC,包括安装gcc 4.4和gcc 4.6的方法,以及通过update-alternatives命令手动或自动设置gcc版本优先级。

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

目前Ubuntu 12.04自带的GCC版本为4.6,遗憾的是在实际使用时,反而版本越高越好问题越多,所以,一旦遇到编译问题时最好先检查你下载的工程里的readme,默认的编译器版本是否为当前的安装版本,如果不是,就需注意很可能是版本兼容问题(甚至你可能是第一个遇到此BUG的幸运者),初步调试后即可尝试降低版本测试。

目前主流gcc版本有两个,一个是gcc4.4,一个是gcc最新版本(4.6),下文介绍这两个版本切换和安装方法。

一、gcc最新版本安装

root@ubuntu:~# apt-get install build-essential

这里build-essential会自动安装最新版本的gcc,如果需要指定使用旧版本gcc,只能再次手动安装。

二、gcc 4.4安装

gcc 4.4是目前很多工程指定的一个版本,安装方法如下:

root@ubuntu:~# apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib

三、设置gcc版本切换

1、手动切换

设置后,使用时需手动进行切换选择。


root@ubuntu:~# ls /usr/bin/gcc* -l
lrwxrwxrwx 1 root root 21 Sep 18 04:42 /usr/bin/gcc -> /etc/alternatives/gcc
-rwxr-xr-x 1 root root 224544 Apr 15 22:58 /usr/bin/gcc-4.4
-rwxr-xr-x 1 root root 306200 Apr 15 19:45 /usr/bin/gcc-4.6
root@ubuntu:~#update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50
root@ubuntu:~#update-alternatives --install /usr/bin/g++ gcc /usr/bin/g++-4.4 50

选择方法(根据编译器选择其一):


root@ubuntu:~#update-alternatives --config gcc
root@ubuntu:~#update-alternatives --config g++

参考选择界面:


root@ubuntu:~# update-alternatives --config g++
There are 2 choices for the alternative g++ (providing /usr/bin/g++).

  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/g++-4.4   100       auto mode
  1            /usr/bin/g++-4.4   100       manual mode
  2            /usr/bin/g++-4.6   50        manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/g++-4.6 to provide /usr/bin/g++ (g++) in manual mode.
root@ubuntu:~# 

2、设置优先级自动

设置后,系统自动根据优先级选择,假设要设置gcc4.4优先于gcc4.6,设置方法如下:


update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 50
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 50
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 50

设置完成后,gcc自动切换为使用4.4版本,因为上面设置4.4优先级高于4.6

四、查看生效的gcc版本

gcc -v

示例输出:


root@ubuntu:~# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 
root@ubuntu:~# 
### 如何在Ubuntu切换GCC 4.9版本 对于希望在Ubuntu上使用特定版本GCC编译器,如GCC 4.9的情况,可以通过一系列操作实现版本间的平滑切换。这不仅适用于Ubuntu 14.04,也适合其他版本Ubuntu 18.04。 #### 安装指定版本GCC和G++ 为了确保能够顺利切换到所需的GCC 4.9版本,首先需要确认该版本已经安装于系统之中。如果尚未安装,则可通过如下命令完成安装: ```bash sudo apt update sudo apt install gcc-4.9 g++-4.9 ``` 上述命令会更新软件包列表并安装GCC 4.9以及对应的G++ 4.9版本[^2]。 #### 使用`update-alternatives`管理多个GCC版本 当存在多个GCC版本时,Linux提供了一个名为`update-alternatives`的工具来帮助管理和设置默认使用的编译器版本。具体步骤如下所示: ##### 添加新版本到alternatives系统 针对每一个想要加入替代方案中的GCC/G++版本执行下面的操作: ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 60 ``` 这里数字`60`代表优先级,数值越大表示越倾向于被选作默认选项[^3]。 ##### 设置默认版本 一旦所有期望的版本都被添加到了alternatives系统里,就可以通过简单的交互界面选择当前要使用的默认版本了: ```bash sudo update-alternatives --config gcc sudo update-alternatives --config g++ ``` 运行这些命令后会出现一个菜单供用户挑选,默认情况下会选择最近一次配置过的版本作为首选项[^4]。 #### 验证更改是否生效 最后一步是验证所做修改是否成功应用。可以利用以下命令查看当前正在使用的GCC版本号: ```bash gcc --version g++ --version ``` 以上方法能有效地让开发者在同一台机器上的不同项目之间灵活调整所需的不同GCC版本环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值