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