Как скомпилировать библиотеку Boost.Process? - PullRequest
2 голосов
/ 20 апреля 2011

Итак, есть Boost.Process 2006 , Boost.Process 2008 и самое последнее Boost.Process выглядит как 2009, глядя на источники) Мне нужны некоторые вроде пошаговое руководство о том, как собрать этого зверя. Потому что я не понимаю, как сделать такую ​​вещь.

Так что для официального официального Boost я понимаю, что будет сделано

Без прав администратора:

  • Загрузите последнюю версию Boost.
  • Распакуйте, извлеките загруженный контент в какую-то папку.
  • Откройте эту папку в терминале (например, вы можете открыть «cmd» или «терминал» командой use, например cd absolute/path/to/directory/with/extracted/Boost, чем использовать команду для отображения содержимого папки ls в Unix, таких как ОС (Mac, Linux) и dir в Windows - в выводе вы должны быть в состоянии найти boost-build.jam)
  • Создайте две папки (используя такие команды, как mkdir имя_фолдера ) build-dir и install-dir
  • команда запуска ./booststrap (booststrap.sh или booststrap.bat в Windows)
  • теперь мы можем скомпилировать Boost и установить его с ./bjam -j4 link=static threading=single,multi --builddir=./build-dir install --without-mpi --prefix=./install-dir
    • Такой вызов скомпилирует статические библиотеки Boost в build-dir. (вы, вероятно, не сможете использовать Boost оттуда - не будет заголовков включений и действительно большой иерархии каталогов)
    • Чем bjam создаст для нас «установку» Boost в install-dir - там появится папка со всеми библиотеками boost (статическая версия) и включает в себя папку со всеми заголовками boost.
    • Мы устанавливаем флаг -j4 для компиляции на 4 ядрах. используйте -j N, где N - количество требуемых ядер, которые будут использоваться в процессе компиляции.
    • Мы установили флаг --without-mpi, потому что мы, вероятно, не используем его.

Но если распаковать, скомпилировать и установить Real Boost в директорию A (bjam находится в папке B). Скачать, распаковать и извлечь из папки C Boost.Process, как скомпилировать любой из этих 3 выпусков Boost.Process (без прав администратора )

1 Ответ

1 голос
/ 20 апреля 2011

Я сделал это один или два раза, и вот что я помню:

После загрузки буст-библиотек, например Из песочницы распакуйте библиотеку на диск, как вы сказали, например, в папку C. Если вы открываете папку C, она обычно имеет ту же структуру папок, что и остальная часть источника повышения. По крайней мере, так было в ограниченных библиотеках, которые я пробовал.

Оттуда скопируйте отдельные файлы и папки в извлеченной исходной папке в соответствующие папки в источнике повышения.

например. в случае процесса - скопируйте C / boost / process.hpp и C / boost / process / в boost_src_dir / boost / - скопировать C / libs / process / в boost_src_dir / libs /.

Оттуда выполните bjam (при условии, что исполняемый файл bjam находится на вашем пути) снова в корне повышения, и что в моих случаях построено все, включая новую библиотеку. Я помню, как делал это с лог-бустом и процессами и не могу думать о том, чтобы делать что-то еще.

Недостатком этого является то, что все перекомпилируется. Возможно, у кого-то есть лучший способ сделать это.

Что касается прав администратора, они не должны иметь значения, поскольку вы создаете надстройку точно так же, как вы создавали оригинальную версию.

...