2014-12-07 2 views
4

Я обновил библиотеку boost из предыдущего 1.54 (источник svn) до 1.57 (источник git). Хотя я использовал те же параметры ./b2, каталог назначения не содержит библиотеки ptr_container.boost 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 

, но без успеха.


Edit:

кажется, что проблема возникает только при построении от мерзавца. Когда я загружал пакет zip из сайта boost, целевой каталог правильно содержит 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 

Я также пытался получить последнюю версию наддува, но эта версия не может использоваться на всех. Непосредственно после того, как я выполнил ./b2, я получаю странную ошибку, подобную этой: Buidling boost error: Name clash for '<pstage\lib>boost_system-vc120-mt-1_58.dll'

Я буду благодарен за любые подсказки, как правильно получить & установить boost из git-хранилища.

+0

Я попытался упростить параметры b2, но без разницы. './b2 --prefix = ~/dev/boost' –

+0

Похоже, что больше файлов и библиотек отсутствует. Например, в 'exception/include' есть только половина исходных файлов ;-( –

+0

try' ./b2 headers', которые заставят b2 создавать символические ссылки – rivanov

ответ

0
 
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 install 
sudo ./b2 headers 

Как отметил rivanov в комментариях, ./b2 headers делает трюк, чтобы включить заголовочные файлы только в директории установки.

Смежные вопросы