该软件包的详细信息可以在第 8.26.2 节 “GCC 的内容”中找到。
在构建第二遍的 GCC时,我们不得不暂缓安装 C++ 标准库,因为当时没有编译器能够编译它。我们不能使用那一节构建的编译器,因为它是一个本地编译器,不应在 chroot 外使用,否则可能导致编译产生的库被宿主系统组件污染。
![[注意]](../images/note.png) 
          
            Libstdc++ 是 GCC 源代码的一部分。您应该先解压
            GCC 压缩包并切换到解压出来的 gcc-11.2.0 目录。
          
创建一个符号链接,允许在 GCC 源码树中构建 Libstdc++:
ln -s gthr-posix.h libgcc/gthr-default.h
为 Libstdc++ 创建一个单独的构建目录,并切换到该目录:
mkdir -v build cd build
准备编译 Libstdc++:
../libstdc++-v3/configure            \
    CXXFLAGS="-g -O2 -D_GNU_SOURCE"  \
    --prefix=/usr                    \
    --disable-multilib               \
    --disable-nls                    \
    --host=$(uname -m)-lfs-linux-gnu \
    --disable-libstdcxx-pch
        配置选项的含义:
CXXFLAGS="-g -O2
              -D_GNU_SOURCE"
            这些编译开关在构建完整的 GCC 时,由顶层目录 Makefile 传递。
--host=$(uname
              -m)-lfs-linux-gnu
            我们需要模拟该软件包作为完整编译器的一部分构建时发生的过程。在完整构建时,GCC 构建系统会传递该选项。
--disable-libstdcxx-pch
            这个开关防止安装预编译包含文件,它在当前阶段没有必要。
运行以下命令编译 Libstdc++:
make
安装这个库:
make install
该软件包的详细信息可以在第 8.26.2 节 “GCC 的内容”中找到。