因為 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