怎样cygwin上升级GCC

时间:2022-03-29 13:18:28

1. 下载

GCC网站上(http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的版本为 3.4.4。升级为:4.0.0, 下载资源gcc-4.0.0.tar.gz.

2. 解压缩

       gcc-4.0.0.tar.gz.放在/home/user/,       解压:(以下的“$”表示命令行提示符):

$ tar xzvf gcc-4.0.0.tar.gz.  

3. 建立目标目录

       $ cd /usr/local

       $ mkdir gcc-4.0.0

       $ cd gcc-4.0.0

4. 配置

       $/home/user/gcc-4.0.0/configure --prefix=/usr/local/gcc-4.0.0 --enable-threads=posix --disable-checking --with-system-zlib --enable-languages=c,c++,java

GCC安装在/usr/local/gcc-4.0.0目录下,支持C/C++JAVA语言,其它选项参见GCC提供的帮助说明。

5. 编译

  $ make

这是一个漫长的过程。

6. 安装

  执行下面的命令将编译好的库文件等拷贝到/usr/local/gcc-4.0.0目录中(根据你设定的路径,可能需要管理员的权限):

  $ make install

至此,GCC 4.0.0安装过程就完成了。

7. 其它设置

  GCC 4.0.0的所有文件,包括命令文件(如gccg++)、库文件等都在/usr/local/gcc-4.0.0目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。

7.1 gccg++gcj的设置

  要想使用GCC 4.0.0gcc等命令,简单的方法就是把它的路径/usr/local/gcc-4.0.0/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。

  首先,查看原来的gcc所在的路径:

  $ which gcc

  在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 4.0.0中的gccg++gcj等命令在/usr/bin目录下分别做一个符号连接:

  % cd /usr/bin

  % ln -s /usr/local/gcc-4.0.0/bin/gcc gcc4

  % ln -s /usr/local/gcc-4.0.0/bin/g++ g++4

  % ln -s /usr/local/gcc-4.0.0/bin/gcj gcj4

  这样,就可以分别使用gcc34g++34gcj34来调用GCC 3.4.0gccg++gcj完成对CC++JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gccg++等命令。

7.2 库路径的设置

  将/usr/local/gcc-4.0.0/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。

  例如,如果GCC 4.0.0安装在/usr/local/gcc-4.0.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:

  setenv LD_LIBRARY_PATH /usr/local/gcc-4.0.0/lib:$LD_LIBRARY_PATH