ubuntu下手工切换gcc版本

ubuntu下手工切换gcc版本
ubuntu下编译程序时一般用的都是gcc,gcc是GNU专属C/C++编译器,因为gcc存在着兼容性的问题,因此可能部分程序必须用指定版本的gcc才能编译通过,因此手工切换gcc版本就很有意义了。

环境

os:ubuntu 8.10
gcc:4.3.2/3.4.6

1.简述
一般情况下,编译程序都是使用的

/usr/bin/gcc

其实这个/usr/bin/gcc只是个符号链接,它指向了/etc/alternatives/gcc,而/etc/alternatives/gcc是指向了/usr/bin/gcc-4.3,可以用ls命令查看

jim@jim-laptop:~$ ls /usr/bin/gcc -l
lrwxrwxrwx 1 root root 21 2009-02-06 13:35 /usr/bin/gcc -> /etc/alternatives/gcc
jim@jim-laptop:~$ ls /etc/alternatives/gcc -l
lrwxrwxrwx 1 root root 16 2009-02-06 13:40 /etc/alternatives/gcc -> /usr/bin/gcc-4.3
jim@jim-laptop:~$
看一下gcc/cc的当前版本

jim@jim-laptop:~$ gcc --version
gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2
Copyright © 2008 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

jim@jim-laptop:~$ cc --version
cc (Ubuntu 4.3.2-1ubuntu12) 4.3.2
Copyright © 2008 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
可以看到当前gcc/cc的版本都是4.3.2

看一下当前安装的gcc的各个版本

jim@jim-laptop:~$ ls /usr/bin/gcc* -l
lrwxrwxrwx 1 root root     21 2009-02-06 13:35 /usr/bin/gcc -> /etc/alternatives/gcc
-rwxr-xr-x 1 root root 84816 2008-10-23 22:28 /usr/bin/gcc-3.4
-rwxr-xr-x 1 root root 198916 2008-10-26 21:12 /usr/bin/gcc-4.1
-rwxr-xr-x 1 root root 193148 2008-10-27 00:24 /usr/bin/gcc-4.2
-rwxr-xr-x 1 root root 208068 2009-01-24 04:20 /usr/bin/gcc-4.3
-rwxr-xr-x 1 root root 16033 2008-10-23 22:27 /usr/bin/gccbug-3.4
-rwxr-xr-x 1 root root 16268 2008-10-26 21:09 /usr/bin/gccbug-4.1
-rwxr-xr-x 1 root root   2018 2008-08-05 08:44 /usr/bin/gccmakedep
jim@jim-laptop:~$
ok,可以看到gcc-3.4.x已经安装了,只要把符号链接指向gcc-3.4就可以了,我们用update-alternatives工具来改变符号链接。

2.增加gcc3.4.6和gcc4.3.2可选项
执行如下命令

jim@jim-laptop:/usr/bin$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.3 40
jim@jim-laptop:/usr/bin$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 30
3.切换版本
切换版本到gcc-3.4.6

jim@jim-laptop:/usr/bin$ sudo update-alternatives --config gcc

现有 2 个可选项,它们都提供了“gcc”<

选择        可选项
-----------------------------------------------
1    /usr/bin/gcc-3.4
*+        2    /usr/bin/gcc-4.3

要维持缺省值[*],按回车键,或者键入选择的编号:1
使用“/usr/bin/gcc-3.4”来提供“gcc”。
ok,现在gcc就切换到了3.4.6了。

查看一下gcc/cc版本

jim@jim-laptop:~$ gcc --version
gcc (GCC) 3.4.6 (Ubuntu 3.4.6-8ubuntu2)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

jim@jim-laptop:~$ cc --version
cc (GCC) 3.4.6 (Ubuntu 3.4.6-8ubuntu2)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值