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