7. 编译 C++ 程式
因为 libg++ 使用了部份的数学函式库,也就是说会连结到 libm。由於你目前的
libg++ 是用旧版的 library 所建立的,所以你必须重新用 glibc 来 compile
libg++ 或是取得一份 binary copy。最新版的 libg++ source 与用 glibc
所连结的 binary 可以在 ftp://ftp.yggdrasil.com/private/hjl/ 找到。
7.1. 用测试的 C library 安装 libg++
假如你已经将 glibc 安装成测试用的 library,那你必须安装到 glibc
所安装的目录下 (例如由前一节所示的 /usr/i486-linuxglibc2)。假如你是由
binary 来安装 (这也是我建议的安装方式,因为我一直都不能用这种方式成功地编译
libg++),你必须将档案解到暂存的目录下,将 usr/lib/
下的所有档案搬到 <install directory>/lib/ ,并将 usr/include/
下的所有档案搬到 <install directory>/include/ 下, (记得先删除
include/g++ 这个连结!) 再将 usr/bin/ 下的档案搬到 <install
directory>/bin/。
7.2. 在主要 glibc 下安装 libg++
若你已经将 glibc 安装成主要的 library,假如还想要用旧的 libc 来编译
g++ 的程式,那你必须先将旧的 libg++ 档案移至旧的 libc
的目录下。也许最简单的方式就是如前一节用 libc 5
来安装一份新版的拷贝,然後在正常安装 glibc 版。
7.3. 使用非主要 libc 来编译 C++ 程式
假如你想用非主要 libc 来编译 C++ 程式,那你必须要 加入 g++ 的
include 目录。在上面的例子中,对测试用的 glibc 是
/usr/i486-linuxglibc2/include/g++,而对主要 glibc 则是
/usr/i486-linuxlibc5/include/g++,这通常都可以由添加至 $CXXFLAGS
这个变数来完成:
CXXFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include
-I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include -I/usr/i486-linuxlibc5/include/g++ -b
i486-linuxglibc2