ubuntu 多个版本gcc共存方法

ubuntu编译android源码时候有时候会遇见莫名其妙问题,这些很有可能是由于gcc版本原因导致的,如何在ubuntu下使多个版本gcc共存与切换

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


环境

os:ubuntu 13.04
gcc:4.4/4.7

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

/usr/bin/gcc

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

simon@simon-y450-1-0:~$ ls /usr/bin/gcc -l
lrwxrwxrwx 1 root root 7  7月  9 17:24 /usr/bin/gcc -> gcc-4.4

看一下gcc/cc的当前版本

simon@simon-y450-1-0:~$ gcc --version
gcc (Ubuntu/Linaro 4.4.7-2ubuntu2) 4.4.7

看一下当前安装的gcc的各个版本
simon@simon-y450-1-0:~$ ls /usr/bin/gcc* -l
lrwxrwxrwx 1 root root      7  7月  9 17:24 /usr/bin/gcc -> gcc-4.4
-rwxr-xr-x 1 root root 255168  1月 31 03:57 /usr/bin/gcc-4.4
-rwxr-xr-x 1 root root 578840  4月 15 20:15 /usr/bin/gcc-4.7
-rwxr-xr-x 1 root root  22848  4月 15 20:15 /usr/bin/gcc-ar-4.7
lrwxrwxrwx 1 root root      7  4月 22 15:44 /usr/bin/gcc.back -> gcc-4.7
-rwxr-xr-x 1 root root  22848  4月 15 20:15 /usr/bin/gcc-nm-4.7
-rwxr-xr-x 1 root root  22848  4月 15 20:15 /usr/bin/gcc-ranlib-4.7

ok,可以看到gcc-4.4和gcc-4.7已经安装了,只要把符号链接指向gcc-4.4或者4.7就可以了,我们用update-alternatives工具来改变符号链接。也可以使用ln改变链接。update-alternatives工具使用方法之后再介绍,这回就直接使用ln来改变链接

2.备份原始gcc链接
执行如下命令
simon@simon-y450-1-0:~$ sudo mv /usr/bin/gcc /usr/bin/gcc.back.4.4

3.建立新链接

simon@simon-y450-1-0:~$ sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

相同g++也同样用法切换版本。


下回介绍使用update-alternatives工具切换

你可能感兴趣的:(ubuntu)