Glibc-2.39 | 크로스 컴파일 임시 도구 |
Libstdc++는 표준 C++ 라이브러리입니다. C++ 코드를 컴파일하는 데 필요하지만(GCC의 일부는 C++로 작성됨), Libstdc++는 대상 디렉터리에서 아직 사용할 수 없는 Glibc에 의존하므로 gcc 1차를 빌드할 때 설치를 보류해야 했습니다.
참고
Libstdc++는 GCC 소스의 일부입니다. 먼저 GCC의 압축을 풀고 gcc-13.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++/13.2.0
/usr/bin
에 있는 컴파일러가 아닌 방금 빌드한 크로스 컴파일러를 사용하도록 지정합니다.$LFS
(GCC 1차 빌드 시 지정)를 앞에 추가하므로 실제로는 $LFS/tools/$LFS_TGT/include/c++/13.2.0
에서 검색합니다. 아래 make install 명령에서 DESTDIR 변수와 이 스위치를 조합하면 헤더가 해당 경로에 설치됩니다.Libstdc++를 컴파일합니다.
make
라이브러리를 설치합니다.
make DESTDIR=$LFS install
libtool archive 파일은 크로스 컴파일에 문제가 되기에 제거합니다.
rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la
이 패키지에 대한 자세한 내용은 섹션 8.28.2. "GCC 패키지 구성"“에 있습니다.