Ubuntu安装低版本gcc和g++

转载地址:http://hi.baidu.com/419836321/blog/item/690ba4a5bbc597ef9152ee26.html

 

 

==============================================================================================

因为编译软件的需要,Ubuntu自带的gcc4.4.1版本太高,需要gcc3.x,因此需要安装低版本的gcc,我选择的是gcc3.4.4。
第一、下载deb安装包,我选择源码包编译安装会出错,因此选择deb包安装;我下载的包为:
gcc-3.4-base_3.4.6-6ubuntu3_i386.deb、
gcc-3.4_3.4.6-6ubuntu3_i386.deb、
cpp-3.4_3.4.6-6ubuntu3_i386.deb、
g++-3.4_3.4.6-6ubuntu3_i386.deb、
libstdc++6-dev_3.4.6-6ubuntu3_i386.deb
下载地址为:http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/

强制安装:sudo dpkg --force-depends -i xxx.deb

第二、依次安装这些包,我是先安装gcc包,

libstdc++6-dev_3.4.6-6ubuntu3_i386.deb

g++-3.4_3.4.6-6ubuntu3_i386.deb

gcc-3.4-base_3.4.6-6ubuntu3_i386.deb

( libgmp3c2  http://packages.ubuntu.com/cs/oneiric/i386/libgmp3c2/download)

libmpfr1ldbl  http://packages.ubuntu.com/natty/i386/libmpfr1ldbl/download 

以上包是安装gcc g++4.3时 安装cpp之前要安装的)

cpp-3.4_3.4.6-6ubuntu3_i386.deb

最后安装上gcc3.4.4
第三、系统配置
安装完成之后,在系统里会多出:gcc-3.4
目前系统里有两个版本的gcc,缺省时gcc4.4.1;需要改变系统的缺省配置:
看一下当前安装的gcc的各个版本

ls /usr/bin/gcc* -ll

rwxrwxrwx 1 root root     21 2009-02-10 17:24 /usr/bin/gcc -> /etc/alternatives/gcc

-rwxr-xr-x 1 root root  85552 2008-05-08 18:04 /usr/bin/gcc-3.4

-rwxr-xr-x 1 root root 193372 2008-10-11 03:41 /usr/bin/gcc-4.2

-rwxr-xr-x 1 root root  16090 2008-05-08 17:58 /usr/bin/gccbug-3.4

-rwxr-xr-x 1 root root   2018 2007-06-05 08:59 /usr/bin/gccmakedep

增加gcc3.4.6和gcc4.3.2可选项
   $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.2 40

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 30

切换版本到gcc-3.4

$ sudo update-alternatives --config gcc

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

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

      2    /usr/bin/gcc-4.2

要维持缺省值[*],按回车键,或者键入选择的编号:1

使用“/usr/bin/gcc-3.4”来提供“gcc”。

 

至此gcc3.4.4安装成功

==================

整完后,会发现,系统找不到g++了,所以还得自己安装一下g++:

sudo apt-get install g++

 

自己实践完后,g++改为g++3.4原理是一样,且g++4.5还是在的,不用重新get。


你可能感兴趣的:(Ubuntu安装低版本gcc和g++)