现在的位置: 首页 > 综合 > 正文

GCC下载&安装

2019年05月07日 ⁄ 综合 ⁄ 共 4224字 ⁄ 字号 评论关闭
1. 下载 H2+b3y-1a]  
WTJ/u001E{ /u001BM$  
在GCC网站上(http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。 Xb/u001CB/u001F(</0+  
b5LToy:/u0003/u0016/u0007  
2. 解压缩 eNK[/u0014P=/u001C-  
Y/u0019E~IO5 /u0015/u0017  
根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符): 5/u001A@m ,*n&[  
/+%~7Bi]z  
% tar xzvf gcc-3.4.0.tar.gz ^EX"f/u0018RwNi  
或者 UJ/u0012I2L-;Ul  
% bzcat gcc-3.4.0.tar.bz2 | tar xvf - u/u001A]IbT/u001AJ'/u0001  
/u0008I/u0017k/u00130g(-d  
新生成的gcc-3.4.0这个目录被称为源目录,用  ${srcdir}表示它。以后在出现  ${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。 /u000E/u001BE/u001D/u0011n/u0002/u0001M/u001E  
/u0016Z>9@/u0008)/u000Fwo  
在  ${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。 $H/u001D)^/u001Do!/u0019/u0010  
W;vNmg/u000E}mn  
3. 建立目标目录 /u00150/u001B p/u0012/u0007ZvW  
g/u001E/u0005>l/u001AZ/u0017s  
目标目录(用  ${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录  ${srcdir}中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是  ${srcdir}的子目录。 ,/u000FBk5 ( /u0010e  
$/u0003dL..QH^K  
例如,可以这样建立一个叫 gcc-build 的目标目录(与源目录  ${srcdir}是同级目录): B8@mL-/u0003Z-;  
/u001A/nl(tU/u000E#j  
% mkdir gcc-build vW+6_41/u0011ZM  
% cd gcc-build "hI/u0006Yf7r##  
c{q+h/u0013/u001A V=  
以下的操作主要是在目标目录   ${objdir} 下进行。 /u0008Liq/u0004o)/u001Bm/u0015  
9{Hs1/u0019 MD[  
4. 配置 u8f//u0002/u0003/u000F)m/u000E  
/u0006e/u0019!/u001Cu/u0016]l/u0004  
配置的目的是决定将GCC编译器安装到什么地方(  ${destdir}),支持什么语言以及指定其它一些选项等。其中,  ${destdir}不能与  ${objdir}或  ${srcdir}目录相同。 sI,cX#h&Y  
./u0011@/u0006/u001CH:/u001AP  
配置是通过执行  ${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换  ${destdir}): z/u00105@/u000FX/u0007FaQ  
'/u0001| /u0014H+5#  
%   ${srcdir}/configure --prefix=  ${destdir} [其它选项] /u0017f/u001F/u000F-~/u001AY/u0006/u0007  
UytMnJ/u001D8/u001C8  
例如,如果想将GCC 3.4.0安装到/usr/local/gcc-3.4.0目录下,则  ${destdir}就表示这个路径。 e)sR$]i:v  
z0[/u0005@O)Sj  
在我的机器上,我是这样配置的: 6/u0011?a/u0006`'&/u001D/u0014  
/u0007_,drOF|e/u0012  
% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java /u0005t/,Y<9{/u001Cw  
6*Z7J/u0019iQ 0  
将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。 -/u0019/u001C/u0008lo?16w  
f/ P0/u0010%/u001E/u0013/u001A  
5. 编译 /u0014s~7/u0019a-/u0014J/u001D  
S/u0016qa9+/u000E' [  
% make /u0003x+Yo#u22/u0013  
)/u0016R/u000Fa/u0014: s>  
这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。 CW/u0001eQv9h]X  
Z/u001F=/u00038&/u0012`/u0008  
6. 安装 {*/u001D;/u001B8`+R&  
W/u000E!H/u0005j/u0010/u0003O;  
执行下面的命令将编译好的库文件等拷贝到  ${destdir}目录中(根据你设定的路径,可能需要管理员的权限): 5@l5exuG*m  
w &YUb,{Y  
% make install ,(oolx"X/u001Aa  
b`%u}^B {  
至此,GCC 3.4.0安装过程就完成了。 ,y"vf^B/u0017E.  
/u0015/u001BnG/u0014/u0008TGX/u0013  
7. 其它设置 +(`/u001CD'5EB(  
&B/u0015 :L/u00149^/u0002  
GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在  ${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。 Iu/u0015Fr:/u00153(/u0005  
r/u00024K/u001E_/u001AW/u001Ep  
7.1 gcc、g++、gcj的设置 /u00101X/u0013h/u0012@x/u0002/u0011  
M/u0014/u0002E)='/u0018~E  
要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径  ${destdir}/bin放在环境变量PATH T/u0014Z/u0004n5s ~t  
;$/u001F]a.9 -  
中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。 @QYCoEU8J/u0007  
P $r/u001A!/u0014u%W  
首先,查看原来的gcc所在的路径: /u001B/u0006od!s5f!  
b/u0003$*G&/u0002/u0003d5  
% which gcc ILHn~d IC  
h}+Gz/u0014={Q^  
在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接: /u0003/u0010)9!J $q  
EOGz;/u0011/u0018:b&  
% cd /usr/bin /@7 4/u0003I/u0018/u00167  
% ln -s   ${destdir}/bin/gcc gcc34 /u000F/u001A2Aj/u0007P/u00112/u0016  
% ln -s   ${destdir}/bin/g++ g++34 [i]%PV/u000FGW  
% ln -s   ${destdir}/bin/gcj gcj34 ; 5!8LmZ0#  
SQf.R%cg$/u0010  
这样,就可以分别使用gcc34、g++34、gcj34来调用GCC 3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。 #4?:/u00124Im#/u0004  
/u0016v/u000F 1Jg8L=  
7.2 库路径的设置 *"/u0013, B/u0011P]]  
5%(xZ /u001E 6  
将  ${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。 /u0001W/I D8+:i  
b'~IF/u0017Nt*^  
例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句: i#y3QCNqf^  
/u0011/u0011]t/u0012VXao/u001D  
setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:  $LD_LIBRARY_PATH r/u000E?=7#/]  
/u00065Y&s+/u0015| /u001A  
8. 测试 /u0005;U|^Tsuc`  
/u0017Q H%{/u0013r/u00064  
用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。 t/u0019?v/u00180yl/u0001N  
L/u0012/u001Ev/u0016/u0006c*L6  
9. 根据需要,可以删除或者保留  ${srcdir}和  ${objdir}目录。
 

抱歉!评论已关闭.