红联Linux门户
Linux帮助

Linux下面安装最新的gcc4.2.2

发布时间:2008-01-31 01:02:19来源:红联作者:brancner
很简单的,首先,现在最新的包GCC 4.2.bz2,一般的到处都有的下,linux下的下载速度很满,20多k,很恶心,我喜欢迅雷的下载速度,在windows下下载,大概42M,下载速度2到4M,回到linux下,挂载,ntfs格式的我的,具体不说了,说安装!

进入到挂载的目录下,先cp GCC4.2.bz2 /azuo,

cd /azuo,

tar -xvf GCC 4.2.bz2 ,

得到gcc-4.2,

cd gcc-4.2,在/usr目录下建立一个文件夹就是现在要存放新的gcc的目录,

mkdir /usr/gcc4

./configure -prefix=/usr/gcc4

回车,就会有配置信息,只要不报错就可以了,

make,这个过程很久,因为我没有设置一些具体的选项,因此,所有的组件几乎都要编译一遍,我的电脑cpu:AMD 3200+X2 ,1.5g内存,大概花费一个半小时。

到这个时候为止,/usr/gcc4下还没有任何东西,编译过程都是发生在源文件夹,让我们再来一个动作,所有的要用到的东西都会配置到目标文件夹下,

make install;

这个过程也不短,等着就是了。

一切都已经弄好了之后就是使用最新的gcc了,可以看到,在/usr/gcc4/bin下有gcc,g++,等一些东西,都是可以用的,写两个程序:

aa.c:

1 #include

2

3 int main(void) {

4 printf("ad");

5 return 1;

6 }

gcc -o aa aa.c

执行 ./aa

上面的这个是c的,下面这个就是c++的了:

a.cpp:

1 #include

2 using namespace std;

3 int main(void) {

4 cout << "Ok!" << endl;

5 return 1;

6 }

g++ -o a a.cpp

执行就是了./a

一切ok了,就可以让最新的gcc工具取代原来的工具了。

看看原来的gcc是什么版本的,我们好卸载它:

[root@BTazuo bin]# rpm -qa gcc

gcc-4.1.2-27.fc7

[root@BTazuo bin]# rpm -e gcc-4.1.2-27.fc7

error: Failed dependencies:

gcc is needed by (installed) systemtap-0.5.13-1.fc7.i386

gcc = 4.1.2-27.fc7 is needed by (installed) gcc-c++-4.1.2-27.fc7.i386

gcc = 4.1.2-27.fc7 is needed by (installed) gcc-gfortran- 4.1.2 -27.fc7. i386

[root@BTazuo bin]# rpm -e gcc-c++-4.1.2-27.fc7.i386

[root@BTazuo bin]# rpm -e gcc-gfortran-4.1.2-27.fc7.i386

[root@BTazuo bin]# rpm -e gcc-4.1.2-27.fc7

error: Failed dependencies:

gcc is needed by (installed) systemtap-0.5.13-1.fc7.i386

[root@BTazuo bin]# g++

bash: g++: command not found

卸载成功

[root@BTazuo bin]# gcc

gcc: 没有输入文件 ,可见gcc犹在

[root@BTazuo bin]# rpm -e systemtap-0.5.13-1.fc7.i386

[root@BTazuo bin]# gcc

gcc: 没有输入文件

[root@BTazuo bin]# rpm -e gcc-4.1.2-27.fc7

[root@BTazuo bin]# gcc

bash: /usr/lib/ccache/gcc: 没有那个文件或目录

最后的卸载成功!

这个时候,要注意了,我的gcc在/usr/bin下面有,在/usr/lib/ccache这个目录下也有,分别在这两个下面都要建立一个链接:

[root@BTazuo bin]# ln -s /usr/gcc4/bin/g++ g++

[root@BTazuo bin]# g++

g++: 没有输入文件

可见g++已经装好了,可以使用了。

然后是gcc:

[root@BTazuo bin]# ln -s /usr/gcc4/bin/gcc gcc

[root@BTazuo bin]# gcc

bash: /usr/lib/ccache/gcc: 没有那个文件或目录

[root@BTazuo bin]# ./gcc

gcc: 没有输入文件

可见还要给另外一个目录建立一个gcc的链接:

[root@BTazuo lib]# ln -s /usr/gcc4/bin/gcc /usr/lib/ccache/gcc

[root@BTazuo lib]# gcc

gcc: 没有输入文件

到此为止,gcc和g++都已经建立好了,可以用了,最后把原来的包和解压文件都可以删除了,以节省硬盘空间!
文章评论

共有 1 条评论

  1. organization 于 2008-02-04 21:03:33发表:

    不是b2zip压缩的在解压缩时要用选项 -j吗,不用也可以解?