2007-07-11

boost + STLPort

Решил что подошло время поставить свежую версию буста.
Веселье началось сразу и вовсе не там где ожидалось. Структура документация успела поменяться и привычная вкладка Documentation уже не содержала ссылки на руководство по инсталляции. Задумчиво поковырявшись в списке библиотек, перешел на страничку Getting Started. Там тоже было пусто. Запасшись терпением начал методично искать нужный раздел. В итоге через 20 минут он нашелся в том самом Getting Started, внизу странички, под разделителем, где вся планета пишет копирайты и прочую никогда не читаемую хрень - лежали две ссылочки.
Документация радостно утверждала, что со времени предыдущего официального рилиза установка для студии несколько упростилась. Достаточно указать в опциях компилятор msvc (1) и директории - для временных файликов (2) и куда складывать либы (3). (Почему под временную нельзя брать директорию из переменной окружения Temp не очень понятно.) Утверждалось, что все будет сделано автоматически.

Подвох был почуян сразу (не люблю всякие автоматические решения со времен первого скрепыша для 95-ого офиса), а осознан во время компиляции. Листая список полученных либ и документацию, в разделе именования библиотек, обнаружилась следующая деталь. При наличии STLPort-а к имени либы должна добавляться буковка p
p - using the STLPort standard library rather than the default one supplied with your compiler.
Естественно, либы собирались без STLPort-а.
А дальше лежал тупичок - найти, место в документации где указано, что буст требуется собрать с помощью STLPort, просто не получилось. Раздел Identify Your Toolset об этом скромно умалчивает. Призванный на помощь гугл выдавал только баг репорты из бустовой переписки. То, что это был полный тупик - стало ясно чуть позднее, когда на поиски был потрачен час времени и перерыта вся попавшаяся документация по бусту и bjam-у

Немного помозговав, решил, что вообщем-то кроме привычки за STLPort меня ничего не держит (на RSDN достаточно высоко оценивали версии STL из стандартной поставки, выходившие после шестерки) решил пойти простым путем и собрать BOOST со стандартной поставкой STL. Через час хрустения винчестером инсталляция прервалась - закончились 1.5 гига места на диске.
Долго плевался.
Завтра почищу место и перекомпиляю либы.

Еще, ради интереса, обязательно подружу boost с STLPort-ом, хотя пока и не знаю как :)

2 комментария:

Anatole комментирует...

когда подружишь? интересует static версия. (вообще интересует связка Qt+mingw(скачанный последний)+stlport и всё это static multithreaded)

ShaggyOwl комментирует...

А пёс его знает :)
Акценты сместились слегка в другую сторону.