本パッケージの詳細は 「GCC の構成」を参照してください。
Libstdc++ は標準 C++ ライブラリです。 (GCC の一部が C++ によって書かれているため)C++ をコンパイルするために必要となります。 ただし gcc 1 回め をビルドするにあたっては、このライブラリのインストールを個別に行わなければなりません。 それは Libstdc++ が Glibc に依存していて、対象ディレクトリ内ではまだ Glibc が利用できない状態にあるからです。
![[注記]](../images/note.png) 
          
            libstdc++ のソースは GCC に含まれます。
            したがってまずは GCC の tarball を伸張 (解凍) した上で gcc-14.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++/14.2.0
        configure オプションの意味
--host=...
            
                利用するクロスコンパイラーを指示するものであり、/usr/bin にあるものではなく、まさに先ほど作り出したものを指定するものです。
              
--disable-libstdcxx-pch
            本スイッチは、既にコンパイルされたインクルードファイルをインストールしないようにします。 これはこの時点では必要ないためです。
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/14.2.0
            
                インクルードファイルをインストールするディレクトリを指定します。 Libstdc++ は LFS における標準 C++
                ライブラリであるため、そのディレクトリは C++ コンパイラー ($LFS_TGT-g++) が標準 C++
                インクルードファイルを探し出すディレクトリでなければなりません。
                通常のビルドにおいてそのディレクトリ情報は、最上位ディレクトリの configure のオプションにて指定します。
                ここでの作業では、上のようにして明示的に指定します。 C++ コンパイラーは sysroot パスに
                $LFS(GCC 1
                回めのビルド時に指定)をインクルードファイルの検索パスに加えます。 したがって実際には $LFS/tools/$LFS_TGT/include/c++/14.2.0
                となります。 DESTDIR 変数(以下の
                make install
                にて指定)とこのスイッチを組み合わせることで、ヘッダーファイルをそのディレクトリにインストールするようにします。
              
Libstdc++ をコンパイルします。
make
ライブラリをインストールします。
make DESTDIR=$LFS install
クロスコンパイルにとっては libtool アーカイブファイルが邪魔になるため削除します。
rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la
      本パッケージの詳細は 「GCC の構成」を参照してください。