diff options
Diffstat (limited to 'lfs-12.1-sysv/chapter05/gcc-libstdc++.html')
-rw-r--r-- | lfs-12.1-sysv/chapter05/gcc-libstdc++.html | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/lfs-12.1-sysv/chapter05/gcc-libstdc++.html b/lfs-12.1-sysv/chapter05/gcc-libstdc++.html deleted file mode 100644 index a9eb128..0000000 --- a/lfs-12.1-sysv/chapter05/gcc-libstdc++.html +++ /dev/null @@ -1,214 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 5.6. Libstdc++ из GCC-13.2.0 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.1"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.1 - </h4> - <h3> - Глава 5. Сборка кросс-тулчейна - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="glibc.html" title="Glibc-2.39">Пред.</a> - <p> - Glibc-2.39 - </p> - </li> - <li class="next"> - <a accesskey="n" href="../chapter06/chapter06.html" title= - "Кросс-Компиляция временных инструментов">След.</a> - <p> - Кросс-Компиляция временных инструментов - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter05.html" title= - "Глава 5. Сборка кросс-тулчейна">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - <h1 class="sect1"> - <a id="ch-tools-libstdcpp" name="ch-tools-libstdcpp"></a>5.6. Libstdc++ - из GCC-13.2.0 - </h1> - <div class="wrap" lang="ru" xml:lang="ru"> - <div class="package" lang="ru" xml:lang="ru"> - <p> - Libstdc++ — это стандартная библиотека C++. Она нужна для - компиляции кода C++ (часть GCC написана на C++), когда мы собирали - <a class="xref" href="gcc-pass1.html" title= - "5.3. GCC-13.2.0 - Проход 1">GCC-Проход 1</a>, нам пришлось - отложить её установку, потому что она зависит от библиотеки Glibc, - которой еще не было в целевом каталоге. - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">0.2 SBU</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">1.1 GB</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - 5.6.1. Установка библиотеки Libstdc++ - </h2> - <div class="admon note"> - <img alt="[Примечание]" src="../images/note.png" /> - <h3> - Примечание - </h3> - <p> - <span class="application">Libstdc++</span> является частью - исходников GCC. Сначала вы должны распаковать архив GCC и перейти - в каталог <code class="filename">gcc-13.2.0</code>. - </p> - </div> - <p> - Создайте отдельный каталог сборки для libstdc++ и перейдите в него: - </p> - <pre class="userinput"><kbd class="command">mkdir -v build -cd build</kbd></pre> - <p> - Подготовьте libstdc++ к компиляции: - </p> - <pre class="userinput"><kbd class= - "command">../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</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение параметров настройки:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>--host=...</code></em></span> - </dt> - <dd> - <p> - Указывает, что должен использоваться кросс-компилятор, - который мы только что собрали, вместо того, который находится - в <code class="filename">/usr/bin</code>. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--disable-libstdcxx-pch</code></em></span> - </dt> - <dd> - <p> - Этот аргумент предотвращает установку предварительно - скомпилированных include-файлов, которые на данном этапе не - нужны. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0</code></em></span> - </dt> - <dd> - <p> - Указывает каталог установки для include-файлов. Поскольку - libstdc++ является стандартной библиотекой C++ для LFS, этот - каталог должен соответствовать местоположению, в котором - компилятор C++ (<span class= - "command"><strong>$LFS_TGT-g++</strong></span>) будет искать - стандартные включаемые файлы C++. При обычной сборке эта - информация автоматически передается в Libstdc++ при - выполнении <span class= - "command"><strong>configure</strong></span> из каталога - верхнего уровня. В нашем случае эта информация должна быть - указана явно. Компилятор C++ добавит путь sysroot - <code class="filename">$LFS</code> (указанный при сборке GCC - Проход 1) к пути поиска include-файлов, поэтому фактически он - будет искать в <code class= - "filename">$LFS/tools/$LFS_TGT/include/c++/13.2.0</code>. - Комбинация переменной <em class= - "parameter"><code>DESTDIR</code></em> (в приведенной ниже - команде <span class="command"><strong>make - install</strong></span>) и этого аргумента обеспечивает - установку заголовочных файлов туда. - </p> - </dd> - </dl> - </div> - <p> - Скомпилируйте Libstdc++, выполнив: - </p> - <pre class="userinput"><kbd class="command">make</kbd></pre> - <p> - Установите библиотеку: - </p> - <pre class="userinput"><kbd class= - "command">make DESTDIR=$LFS install</kbd></pre> - <p> - Удалите архивные файлы libtool, поскольку они потенциально опасны - при кросс-компиляции: - </p> - <pre class="userinput"><kbd class= - "command">rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la</kbd></pre> - </div> - <div class="content" lang="ru" xml:lang="ru"> - <p> - Подробная информация об этом пакете приведена в <a class="xref" - href="../chapter08/gcc.html#contents-gcc" title= - "8.28.2. Содержимое пакета GCC">Раздел 8.28.2, «Содержимое - пакета GCC.»</a> - </p> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="glibc.html" title="Glibc-2.39">Пред.</a> - <p> - Glibc-2.39 - </p> - </li> - <li class="next"> - <a accesskey="n" href="../chapter06/chapter06.html" title= - "Кросс-Компиляция временных инструментов">След.</a> - <p> - Кросс-Компиляция временных инструментов - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter05.html" title= - "Глава 5. Сборка кросс-тулчейна">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - </body> -</html> |