Linux操作系统下安装最新的gcc4.2.2方法

 
  首先,现在最新的包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++都已经建立好了,可以用了,最后把原来的包和解压文件都可以删除了,以节省硬盘空间!