手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

[转贴]SCO OpenServer 5 中安装gcc 2.95的步骤

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

GAS。假如您不确定 GNU CC 到底是找到哪一个组译器来用的话,在
执行 gcc 时加上 `-v' 这个选项。

会因为您是否使用 GAS 而产生不同变化的系统有:

`hppa1.0-ANY-ANY', `hppa1.1-ANY-ANY', `i386-ANY-sysv',
`i386-ANY-isc',
`i860-ANY-bsd', `m68k-bull-sysv', `m68k-hp-hpux',
`m68k-sony-bsd',
`m68k-altos-sysv', `m68000-hp-hpux', `m68000-att-sysv',
`ANY-lynx-lynxos', 及 `mips-ANY'). 对於其他系统,
`--with-gnu-as' 并不会造成影响。

上述系统中 (除了 HP-PA, 386 上的 ISC, 及 `mips-sgi-irix5.*'),
假如您使用 GAS,您也应该要使用 GNU 连结器 (linker),也就是要
注明 `--with-gnu-ld'。

`--with-gnu-ld'
假如您想要拿 GNU 连结器跟 GNU CC 并用的话,注明这个选项。

这个选项并不会安装 GNU 连结器,他只是改变 GNU CC 的习性来
配合 GNU 连结器而已。比较不同的是,他使得 `collet2' 这个程式
不会被安装。这个程式是在大部份的建构中拿来做系统连结器的前
置处理用的。

`--with-stabs'
在大部份以 MIPS 为基础的系统连同 Alpha 上,您必须指明
要 GNU CC 产生出正规的 ECOFF 除错格式,或是要 BSD 式的
stabs 传递 ECOFF 的符号表。正规的 ECOFF 除错格式并不能完整地
处理 C 以外的语言。而 BSD stabs 格式能够处理其他语言,但只能
在 GNU 除错器 (GNU debugger) 上面做。

在正常情况下,GNU CC 预设使用 ECOFF 除错格式,假如您偏好 BSD
stabs 格式,在编译时注明 `--with-stabs'。

不管您在建立 GNU CC 时是选用哪一种预设值,使用者都能够用
`-gcoff' 和 `-gstabs ' 这两个选项来指定他所要用的除错格式。

`--with-stabs' 在 386 上的 ISC 系统中有特别意义,当 `--with-gas'
也被用到时。他会选择使用嵌在 COFF 输出中的 stabs 除错资讯
(stabs debugging information embedded in COFF output) 。这类的
除错资讯也支援 C ,普通的 COFF 除错资讯并不能做到。

`--with-stabs' 在跑 SVR4 的 386 系统中也有特别意义。他选择使
用嵌在 ELF 输出中的 stabs 除错资讯。在 386 SVR4 平台上,现在的
C 编译器 (2.6.0 版) 并不支援 DWARF 除错资讯。stabs 提供了
另一个能够用的方法。他需要 GAS 和 GDB,因为正常的 SVR4 工具并
不能产生或解译 stabs 格式。

`--nfp'
在某些系统上,您必须藉由这个选项注明这台机器是否有浮点运
算器。这些系统包括了 `m68k-sun-sunosN' 及 `m68k-isi-bsd'。现在
`--nfp' 在其他系统上并没有作用,虽然在别的系统上可能也能够有不
同的效果。

`configure' 这个程式会去源代码目录底下的子目录□面去找那些要跟
GNU CC 整合的其他编译器。例如 GNU 的 C 编译器,G ,放在 `cp'
这个子目录□。`configure' 会把建立这些编译器的规则加到 `Makefile'
中。

底下我们会周详说明任何 `configure' 会设定的档案。在正常情况下,
您无需去担心这些档案。

* 会建立一个叫 `config.h' 的档案,□面有一个 `#include' 记载了您
将来要用来执行这个编译器行的机器的顶层设定档 (*注解:建置)。这个档
案用来定义 host machine 的资讯。其中包含 `tm.h'。

顶层设定档放在 `config' 这个子目录□。他都叫做 `xm-某某东西.h',
通常是 `xm-机器名.h',但有些例外。

假如您的系统不支援符号连结 (symbolic link),您能够要设定 `config.h'
让他包含一条 `#include' 指到适当的档案。

* 会建立一个叫 `tconfig.h' 的档案,他引入了 target machine 的顶层
设定档。这是为了要用来编译一些要在那台机器上跑的程式。

* 会建立一个叫 `tm.h' 的档案,他包含了 target machine 的机器描述
巨集档案 (machine-description macro file)。他应该是放在 `config'
子目录中而且他的名字通常是 `机器名.h'。

* `configure' 这个命令档也会在 `Makefile.in' 这个样版档上加入一些字
来产生 `Makefile'。 这些额外的文字来自 `config' 目录中叫做
`t-TARGET' 及 `x-HOST' 的档案。假如这些档案不存在,那就表示不需
要为 target 或 host machine 加上其他东西。

4. 安装 GNU CC 的标准目录是 `/usr/local/lib'。假如您打算安装到别的地方,
在执行 `configure' 的注明 `--previx=目录'。`目录' 是您打算用来取代
`/usr/local' 的目录名称,除了底下这个例外: 不管您的编译器安装在何处,
`/usr/local/include' 都是会被加到找寻标头档的目录。假如您不想要这样,
您能够用下面这个 `--local-prefix' 选项。

5. 指定 `--local-prefix=目录',这样能够让您设定编译器找寻标头档的路径。
而不是使用 `/usr/local/include'。

*只有* 在您的电脑上放您特别的规格档案有不同习惯 (不是 `/usr/local')
时,您才会需要 `--local-prefix' 这个选项。

*不要* 把 `/usr' 指定给 `--local-prefix'!您在 `--local-prefix' 所
用的目录 *必须不* 包含任何的系统标准标头档。假如他真的包含,某些程
式会被编译成错的。(包括 GNU Emacs, 在某些目标机器上),因为这样做会
盖掉或搞丢 `fixincludes' 所定的标头档案集。

6. 确定 Bison 剖析器产生机 (parser generator) 已安装。(假如 Bison
所产生出来的 `c-parse.c' 跟 `cexp.c' 这两个档案比 `c-parse.y' 跟
`cexp.y' 还新,而且您不打算改这些 `.y' 档的话,这步就不用做。

在 1988 年 9 月 8 号之前的 Bison 版本会产生不正确的 `c-parse.c'。

7. 假如您选择了一个需要其他 GNU 工具(像是 GAS 或 GNU 连结器) 而不是
标准系统工具的组态来做 GNU CC 的话,记得在建立 GNU CC 的目录底下
安装所需的工具,并命名为 `as', 'ld' 或其他相关名称。这样会使得编

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!