Ура! Я собрала STLport с бустом под студией 2005.
Пишу маленькую инструкцию:
Сборка
STLport +
Boost компилятором
MSVC 2005(я собирала с версиями
STLport 5.2.1,
Boost 1.44.0,
MSVS 2005 SP1)
1. Качаем последнюю версию буста
тут. Разворачиваем куда-либо. Допустим, пускай это будет папка
c:/src/boost_1_44_0. Оттуда же качаем уже собранный
bjam и помещаем
bjam.exe в корневую папку с бустом (вообще, он поставляется прямо с бустом и можно его самостоятельно собрать, запустив
bootstrap в корневом каталоге буста).
2. Качаем последнюю версию
STLport тут. Разворачиваем куда-либо. Допустим, пускай это будет папка
c:/src/STLport-5.2.1.
3. Собираем буст с заголовками STLPort:
3.1. В каталоге
c:/src/boost_1_44_0/tools/build/v2 правим файл
user-config.jam. Добавляем строку с указанием расположения заголовочных файлов STLport:
Цитата
using stlport : 5.2.1 : с:/src/STLPort-5.2.1/stlport ;
Пробел перед завершающим символом "
;" обязателен! (блок code убивает пробелы - так что вставляю в quote)
(Буст добавляет букву
p к именам библиотек, которая означает, что данная сборка собрала с STLport. Так что сборка безопасна, если у вас собраны другие варианты библиотеки).
3.2. Из корневого каталога буста (там уже лежит
bjam.exe) запускаем
bjam c нужными нам параметрами. Например, для полной сборки буста это будет такая строка:
bjam stdlib=stlport --toolset=msvc-8.0 --build-dir="папка, где будут храниться временные файлы во время сборки" --build-type=complete "путь, куда буст будет складывать готовые файлы"
Обратите внимание, добавлена опция
stdlib=stlport - это и есть указание использовать наш STLport.
Запускаем
bjam и идём отдыхать: собирается он долго и нудно. Чтобы было быстрее, можете добавить в строку опцию
-jN, где N - количество ядер CPU у вас на компе - тогда он будет распараллеливать процесс сборки. Можете запустить
bjam --help и посмотреть другие параметры: например, можно указать, куда конкретно складывать заголовки и библиотеки, и прочие такие полезные опции.
4. Собираем сам STLport:
4.1. Открываем консоль (
cmd). Запускаем установку переменных окружения MSVC 2005. Если студия установлена в стандартном варианте, с 32-битной платформой, то это будет выглядеть так:
"С:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
4.2. Далее НЕ ВЫХОДЯ из консоли, перемещаемcя в ней к нашей папке с STL (
cd c:/src/STLport-5.2.1) и в этой папке выполняем следующую команду:
configure msvc8 --with-static-rtl
Я собирала со статической линковкой стандартных библиотек. Можете использовать динамическую, заменив опцию на
--with-dynamic-rtl.
4.3. НЕ ВЫХОДЯ из консоли, переходим в каталог
c:/src/STLport-5.2.1/build/lib и запускаем там команду
nmake /fmsvc.mak install
Ждём, когда скомпилится. Детально про сборку и возможности проверки собранного STLport можно почитать в файле
c:/src/STLport-5.2.1/doc/README.msvc (правда, там опечатка с указанием опции компилятора - он задаётся
без префикса -c).
5. Открываем студию и прописываем в студии пути для нашего STL: меню
Tools->Options. Настройка
VC++ Directories:
Platform:
Win32, Show directories for:
Include files - добавить ПЕРЕД всеми стандартными путями путь
c:/src/STLport-5.2.1/stlport Platform:
Win32, Show directories for:
Library files - добавить ПЕРЕД всеми стандартными путями путь
c:/src/STLport-5.2.1/libСобственно, всё.
Код править не нужно, насколько я понимаю. У меня deque заработал без проблем. Просто перекомпиляция.
P.S. Теоретически, можно собирать и
без буста.
P.P.S. Если вдруг кто-то захочет собрать и что-то вдруг не будет собираться - сообщайте. Я могла что-то упустить, хотя вроде бы всё написала и порядок не перепутала.