양쪽 이전 판 이전 판 다음 판 | 이전 판 |
linuxfromscratch:12.1:039-libstdc_from_gcc-13.2.0 [2024/06/14 16:54] – [5.6.1. Libstdc++ 설치] baecy | linuxfromscratch:12.1:039-libstdc_from_gcc-13.2.0 [2024/06/14 16:58] (현재) – [설정 옵션 설명] baecy |
---|
---- | ---- |
| |
====== 5.6. GCC-13.2.0의 Libstdc++ ====== | ===== 5.6. GCC-13.2.0의 Libstdc++ ===== |
| |
Libstdc++는 표준 C++ 라이브러리입니다. C++ 코드를 컴파일하는 데 필요하지만(GCC의 일부는 C++로 작성됨), Libstdc++는 대상 디렉터리에서 아직 사용할 수 없는 Glibc에 의존하므로 [[.:036-gcc-13.2.0_-_pass_1|gcc 1차]]를 빌드할 때 설치를 보류해야 했습니다. | Libstdc++는 표준 C++ 라이브러리입니다. C++ 코드를 컴파일하는 데 필요하지만(GCC의 일부는 C++로 작성됨), Libstdc++는 대상 디렉터리에서 아직 사용할 수 없는 Glibc에 의존하므로 [[.:036-gcc-13.2.0_-_pass_1|gcc 1차]]를 빌드할 때 설치를 보류해야 했습니다. |
----- | ----- |
| |
===== 5.6.1. Libstdc++ 설치 ===== | ==== 5.6.1. Libstdc++ 설치 ==== |
| |
<WRAP info center round 90%> | <WRAP info center round 90%> |
</code> | </code> |
| |
==== 설정 옵션 설명 ==== | === configure 옵션 설명 === |
| |
* //**--host=...**// \\ 방금 빌드한 크로스 컴파일러를 ''/usr/bin''에 있는 컴파일러 대신 사용하도록 지정합니다. | * //**--host=...**// \\ 호스트의 ''/usr/bin''에 있는 컴파일러가 아닌 방금 빌드한 크로스 컴파일러를 사용하도록 지정합니다. |
* //**--disable-libstdcxx-pch**// \\ 이 단계에서는 필요하지 않은 미리 컴파일된 include 파일을 설치하지 않도록 합니다. | * //**--disable-libstdcxx-pch**// \\ 이 단계에서는 필요하지 않은 미리 컴파일된 include 파일을 설치하지 않도록 합니다. |
* //**--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0**// \\ include 파일의 설치 디렉터리를 지정합니다. Libstdc++는 LFS용 표준 C++ 라이브러리이므로 이 디렉터리는 C++ 컴파일러(**$LFS_TGT-g++**)가 표준 C++ include 파일을 검색하는 위치와 일치해야 합니다. 일반적인 빌드에서는 이 정보가 최상위 디렉터리에서 Libstdc++ **counfigure**옵션으로 자동 전달됩니다. 우리의 경우에는 이 정보를 명시적으로 제공해야 합니다. C++ 컴파일러는 include 파일 검색 경로에 시스템 루트 경로 ''$LFS''(GCC 1차 빌드 시 지정)를 앞에 추가하므로 실제로는 ''$LFS/tools/$LFS_TGT/include/c++/13.2.0''에서 검색합니다. 아래 **make install** 명령에서 //DESTDIR// 변수와 이 스위치를 조합하면 헤더가 해당 경로에 설치됩니다. | * //**--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0**// \\ include 파일의 설치 디렉터리를 지정합니다. Libstdc++는 LFS용 표준 C++ 라이브러리이므로 이 디렉터리는 C++ 컴파일러(**$LFS_TGT-g++**)가 표준 C++ include 파일을 검색하는 위치와 일치해야 합니다. 일반적인 빌드에서는 이 정보가 최상위 디렉터리에서 Libstdc++ **counfigure**옵션으로 자동 전달됩니다. 우리의 경우에는 이 정보를 명시적으로 제공해야 합니다. C++ 컴파일러는 include 파일 검색 경로에 시스템 루트 경로 ''$LFS''(GCC 1차 빌드 시 지정)를 앞에 추가하므로 실제로는 ''$LFS/tools/$LFS_TGT/include/c++/13.2.0''에서 검색합니다. 아래 **make install** 명령에서 //DESTDIR// 변수와 이 스위치를 조합하면 헤더가 해당 경로에 설치됩니다. |
</code> | </code> |
| |
libtool archive 파일은 크로스 컴파일에 문제를 만들기 때문에 제거합니다. | libtool archive 파일은 크로스 컴파일에 문제가 되기에 제거합니다. |
| |
<code bash> | <code bash> |
----- | ----- |
| |
이 패키지에 대한 자세한 내용은 섹션 [[.:098-gcc-13.2.0|8.28.2, "GCC의 내용]]"에 있습니다. | 이 패키지에 대한 자세한 내용은 섹션 [[.:098-gcc-13.2.0#8.28.2. GCC 패키지 구성|8.28.2. "GCC 패키지 구성"]]"에 있습니다. |