Я обновил библиотеку наддува с предыдущей версии 1.54 (источник svn) до 1.57 (источник git). Хотя я использовал те же параметры ./b2, каталог назначения не содержит ptr_container
библиотека.
Каталог с клонированным репозиторием правильно содержит библиотеку ptr_container по этому пути:
boost_git/libs/ptr_container
Я строю это с помощью следующей команды:
./b2 --install --prefix=$SHL_PATH/boost -sNO_BZIP2=1 -sNO_ZLIB runtime-link=shared link=shared -j2 install
но без успеха.
Редактировать:
Кажется, что проблема возникает только при сборке из git. Когда я скачал zip-пакет с сайта поддержки, каталог назначения правильно содержит ptr_container.
Это команды git, которые я использую для получения исходного кода:
git clone --recursive https://github.com/boostorg/boost.git boost_git
git checkout tags/boost-1.57.0
git submodule foreach --recursive git checkout tags/boost-1.57.0
Я также пытался получить последнюю версию Boost, но эта версия вообще не используется. Сразу после того, как я выполнил ./b2, я получаю странную ошибку, похожую на эту: Buidling boost error: конфликт имен<pstage \ Lib>boost_system-vc120-мт-1_58.dll»
Буду благодарен за любые подсказки, как правильно получить&установить буст из репозитория git.
git clone https://github.com/boostorg/boost.git CD Boost git checkout boost-1.57.0 git submodule update --init --recursive ./bootstrap.sh sudo ./b2 установить заголовки sudo ./b2
Как указано rivanov в комментариях, ./b2 headers
делает трюк для включения только заголовочных файлов в установочный каталог.