Next Previous Contents

7. 編譯 C++ 程式

因為 libg++ 使用了部份的數學函式庫,也就是說會連結到 libm。 由於你目前的 libg++ 是用舊版的函式庫所建立的, 所以你必須重新用 glibc 來 compile libg++ 或是取得一份預先編譯好的版本。 最新版的 libg++ source 與用 glibc 所連結的預先編譯版可以在 ftp://ftp.yggdrasil.com/private/hjl/ 找到。

7.1 用測試的 C 函式庫安裝 libg++

假如你已經將 glibc 安裝成測試用的函式庫,那你必須安裝到 glibc 所安裝的目錄下 (例如由前一節所示的 /usr/i486-linuxglibc2)。 假如你要安裝預先編譯好的版本 (這也是我建議的安裝方式,因為我一直都不能用這種方式成功地編譯 libg++), 你必須將檔案解到暫存的目錄下, 將 usr/lib/ 下的所有檔案搬到 <install directory>/lib/, 並將 usr/include/ 下的所有檔案搬到 <install directory>/include/ 下, (記得先刪除 include/g++ 這個連結!) 再將 usr/bin/ 下的檔案搬到 <install directory>/bin/

7.2 在主要 glibc 下安裝 libg++

若你已經將 glibc 安裝成主要的函式庫,假如還想要用舊的 libc 來編譯 g++ 的程式, 那你必須先將舊的 libg++ 檔案移至舊的 libc 的目錄下。 也許最簡單的方式就是如前一節用 libc 5 來安裝一份新版的拷貝, 然後再正常安裝 glibc 版。

7.3 使用非主要的 C 函式庫來編譯 C++ 程式

假如你想用非主要的 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
 


Next Previous Contents