<< Back to shouce.jb51.net

安装 GCC-3.3.2 - 第一遍

预计所需编译时间:      4.4 SBU
预计所需硬盘空间:      300 MB

GCC的内容

GCC 软件包包含 GNU 编译器,其中有C和C++编译器.

安装下列程序: c++, cc (link to gcc), cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, 和 gcov

安装下列库文件: libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] 和 libsupc++.a

GCC 安装依赖关系

GCC 依赖于: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.

安装 GCC

在下一章前我们不需要C++编译器,所以我们这里只解压 gcc-core 包。

注: 尽管 GCC 是很重要的工具链软件包,我们这里并不运行测试套件。这是因为,测试套件所需要的程序还没有安装,而且第一遍安装的程序很快就会被第二遍的程序所覆盖。

如果你把这个包缺省的优化参数(包括 -march 和 -mcpu参数)改变的话,它会有很不良的表现。最好不要优化这个包。因此,如果你定义了任何优化参数的话,比如CFLAGS 和 CXXFLAGS,我们劝你在编译GCC时unset或修改它们。

GCC 的安装指南推荐用一个新建的目录来编译它,而不是在源码目录中:

mkdir ../gcc-build
cd ../gcc-build

为编译 GCC 作准备:

../gcc-3.3.2/configure --prefix=/tools \
    --with-local-prefix=/tools \
    --disable-nls --enable-shared \
    --enable-languages=c

这些配置参数的意思是:

接下来编译它:

make BOOT_LDFLAGS="-static" bootstrap

编译参数的意思是:

安装软件包:

make install

最后,我们将创建 /tools/bin/cc 符号链接。许多程序和脚本试图运行 cc 而不是 gcc,这是为了让程序能在多种 Unix 平台上运行,并保持一致性。并不是每个人都安装 GNU CC 的。只运行 cc 把选择 C 编译器的自由留给了系统管理员,只要有这样一个符号链接指向它:

ln -sf gcc /tools/bin/cc