
GNU Compiler Collection是一套以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,亦是自由的类Unix及苹果计算机Mac OS X 操作系统的标准编译器。
GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。
GCC原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。
GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、 Objective-C、Java,以及Ada与其他语言。
1.解压缩
拷贝gcc-4.1.2.tar.bz2(我下载的压缩文件)到/usr/local/src(根据自己喜好选择)下,根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):
% tar zxvf gcc-4.1.2.tar.gz
或者
% bzcat gcc-4.1.2.tar.bz2 | tar xvf -
新生成的gcc-4.1.2这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。
在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。
2.建立目标目录
目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。
例如,可以这样建立一个叫 /usr/local/gcc-4.1.2的目标目录:
% mkdir /usr/local/gcc-4.1.2
% cd gcc-4.1.2
以下的操作主要是在目标目录 ${objdir} 下进行。
3.配置
配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。
配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):
% ${srcdir}/configure --prefix=${destdir} [其它选项]
例如,如果想将GCC 4.1.2安装到/usr/local/gcc-4.1.2目录下,则${destdir}就表示这个路径。
在我的机器上,我是这样配置的:
% ../gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
将GCC安装在/usr/local/gcc-4.1.2目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。
4.编译
% make
5.安装
执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):
% make install
至此,GCC 4.1.2安装过程就完成了。
6.其它设置
GCC 4.1.2的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。
7.gcc、g++、gcj的设置
要想使用GCC 4.1.2的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。
首先,查看原来的gcc所在的路径:
% which gcc
在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 4.1.2中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:
% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc412
% ln -s ${destdir}/bin/g++ g++412
% ln -s ${destdir}/bin/gcj gcj412
这样,就可以分别使用gcc412、g++412、gcj412来调用GCC 4.1.2的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。
8.库路径的设置
将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,例如,如果GCC 4.1.2安装在/usr/local/gcc-4.1.2目录下,在RH Linux下可以直接在命令行上执行
% export LD_LIBRARY_PATH=/usr/local/gcc-4.1.2/lib
最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了,在文件$HOME/.bash_profile中添加下面两句:
LD_LIBRARY_PATH=/usr/local/gcc-4.1.2/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
重启系统设置生效,或者执行命令
% source $HOME/.bash_profile
9.测试
用新的编译命令(gcc412、g++412等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作
248.9M / 12-08
RTS即时战略
下载
248.9M / 12-08
RTS即时战略
下载
253.4M / 12-08
RPG角色扮演
下载
妻中蜜3全cg存档
10博网体育备用网址工具 / 28KB
下载
1
csgo空格键连跳脚本绿色免费版
10博网体育备用网址工具 / 564KB
下载
2
platform tools工具包官方版v36.0.2
编程软件 / 7.3M
下载
3
vba for wps安装包v7.1官方版
编程软件 / 35.0M
下载
4
易控王文档加密软件v2017官方版绿色免费版
文件处理 / 46M
下载
5
DNF9周年第十套天空时装补丁
10博网体育备用网址工具 / 1.6M
下载
6
3456wg多选皮肤v10.6官方版
10博网体育备用网址工具 / 2.2M
下载
7
GTKWave(WAV文件波形察看工具)v3.3.66 官方版
文件处理 / 4.4M
下载
8
支付宝AR红包小工具1.0 绿色版
文件处理 / 255KB
下载
9
苹果ios10强制降级工具绕过验证1.0 官方版
文件处理 / 60M
下载
10
114.9M / 06-09
立即下载
159M / 06-09
立即下载
208.1M / 06-09
立即下载
124.2M / 06-09
立即下载
57.2M / 06-09
立即下载
153M / 06-05
立即下载
444M / 06-05
立即下载
497M / 06-05
立即下载
2.34G / 06-05
立即下载
815.1M / 06-05
立即下载
126.3M / 06-09
立即下载
25.9M / 06-09
立即下载
985.7M / 06-08
立即下载
301.0M / 06-08
立即下载
34.60G / 06-08
立即下载
2.63G / 06-08
立即下载
926.0M / 06-08
立即下载
847.0M / 06-08
立即下载
296.2M / 06-05
立即下载
35.0M / 06-05
立即下载
11M / 06-09
立即下载 21M / 06-09
立即下载 21.5M / 06-09
立即下载 14.6M / 06-09
立即下载 11.2M / 06-05
立即下载 45.5M / 06-05
立即下载 14.1M / 06-05
立即下载 26.2M / 06-05
立即下载 133M / 06-05
立即下载 390.3M / 06-05
立即下载 63.1M / 06-09
立即下载 986.4M / 06-09
立即下载 356.2M / 06-09
立即下载 181.9M / 06-05
立即下载 46M / 06-05
立即下载 88.6M / 06-05
立即下载 29.7M / 06-05
立即下载 870.4M / 06-05
立即下载 44M / 06-05
立即下载 13.7M / 06-05
立即下载 1.27G / 06-09
立即下载 1.05G / 06-05
立即下载 2.49G / 06-01
立即下载 9.84G / 06-01
立即下载 956.1M / 05-28
立即下载 181.5M / 05-28
立即下载 255.9M / 05-28
立即下载 245.1M / 05-28
立即下载 1.07G / 05-28
立即下载 113.2M / 05-28
立即下载 41.5M / 06-09
立即下载 483.3M / 06-09
立即下载 25.7M / 06-05
立即下载 120.5M / 06-05
立即下载 1.10G / 06-05
立即下载 6.09G / 06-04
立即下载 8M / 06-04
立即下载 3.30G / 06-04
立即下载 820.0M / 06-04
立即下载 30.2M / 06-04
立即下载 466.6M / 06-09
立即下载 231.5M / 06-05
立即下载 79.6M / 06-05
立即下载 17.7M / 06-05
立即下载 499.9M / 06-05
立即下载 160M / 06-04
立即下载 60M / 06-04
立即下载 254.8M / 06-04
立即下载 268M / 06-04
立即下载 232.0M / 06-04
立即下载 517M / 06-09
立即下载 35.6M / 06-05
立即下载 4.07G / 06-05
立即下载 222.0M / 06-05
立即下载 13.4M / 01-03
立即下载 293.0M / 09-05
立即下载 1.22G / 07-06
立即下载 20.53G / 07-06
立即下载 229.9M / 07-06
立即下载 3.70G / 07-06
立即下载