关于该软件包的详细信息可以在第 8.26.2 节 “GCC 的内容”中找到。
Libstdc++ 是 C++ 标准库。我们需要它才能编译 C++ 代码 (GCC 的一部分用 C++ 编写)。但在构建第一遍的 GCC时我们不得不暂缓安装它,因为它依赖于当时还没有安装到目标目录的 Glibc。
Libstdc++ 是 GCC 源代码的一部分。您应该先解压
GCC 源码包并切换到解压出来的 gcc-10.2.0
目录。
为 Libstdc++ 创建一个单独的构建目录,并进入它:
mkdir -v build cd build
准备编译 Libstdc++:
../libstdc++-v3/configure \ --host=$LFS_TGT \ --build=$(../config.guess) \ --prefix=/usr \ --disable-multilib \ --disable-nls \ --disable-libstdcxx-pch \ --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/10.2.0
配置选项的含义:
--host=...
指定使用我们刚刚构建的交叉编译器,而不是 /usr/bin
中的宿主系统编译器。
--disable-libstdcxx-pch
这个开关防止安装预编译头文件,在这个阶段不需要它们。
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/10.2.0
C++ 编译器应该在这个位置搜索标准头文件。在正常的构建过程中,这项信息被顶层目录构建系统自动传递给 Libstdc++ configure 脚本。然而我们没有使用顶层构建系统,必须明确给出这项信息。
运行以下命令编译 Libstdc++:
make
安装这个库:
make DESTDIR=$LFS install
关于该软件包的详细信息可以在第 8.26.2 节 “GCC 的内容”中找到。