Как создать Boost с помощью Visual Studio 2008, если у меня установлено несколько версий Visual Studio?

Я знаю, как собрать boost с помощью последней версии Visual Studio на моей машине (например, этот вопрос)

Однако мне нужно собрать библиотеки для Visual Studio 2008 (vc9)

Я пытался использовать toolset=vc9, но у меня возникли проблемы/безрезультатно.

Как я могу собрать библиотеки для vc9?

После того, как я запускаю boostrap, я пытаюсь запустить

b2 toolset=vc9

но вывод:

C:/Development/boost 50/boost

b2 toolset=vc9
50_0/boost
b2 toolset=vc9
50_0/tools/build/v2/build\toolset.jam:39: в наборе инструментов.используя правило vc9.init неизвестно в наборе инструментов модуля

C:/Development/boost 50/boost

b2 toolset=vc9
50_0/boost
b2 toolset=vc9
50_0/tools/build/v2\build-system.jam:481: in process-explicit-toolset-requests

C:/Development/boost 50/boost

b2 toolset=vc9
50_0/boost
b2 toolset=vc9
50_0/tools/build/v2\build-system.jam:562: в загрузке

C:\Development\boost 50\boost

b2 toolset=vc9
50_0\boost
b2 toolset=vc9
50_0\tools\build\v2/kernel\modules.jam:283: при импорте

C:\Development\boost 50\boost

b2 toolset=vc9
50_0\boost
b2 toolset=vc9
50_0\tools\build\v2/kernel/bootstrap.jam:142: в boost-build

C:\Development\boost 50\boost

b2 toolset=vc9
50_0\boost
b2 toolset=vc9
50_0\boost-build.jam:17: в области модуля


person Tim    schedule 02.08.2012    source источник


Ответы (3)


набор инструментов = msvc-9.0

У меня установлены VS2008-Pro и VS2010-Express. По умолчанию работал с VS2010. Установка toolset=msvc-9.0 привела к запуску сборки с VS2008. Использование Boost 1.51.0.

person user1726157    schedule 27.10.2012

Вам нужно изучить документацию How-To-Build-Boost и, в частности, посмотреть это; но часть, в которой вам нужно указать конкретную версию MSVC, указывает на здесь. Это предполагает создание файла user-config.jam, который, вероятно, сработает, но вместо этого я создал файл project-config.jam.

person Mike C    schedule 02.08.2012

Кажется, я могу сделать это, запустив скрипт повышения уровня сборки (или мета-сборки) из разных командных строк VC. Например, для сборки с VC2012 запустите командную строку с vc 2012 vars. И для 2010 сделайте то же самое. Автоматически сгенерированные сценарии сборки, похоже, работают правильно.

Я уверен, что есть способы сделать это, самостоятельно отредактировав скрипты сборки или настроив набор инструментов, но мне это не удалось.

person Tim    schedule 28.10.2012
comment
Это именно то, чего я ожидал - если я попытаюсь собрать boost с помощью командной строки vs2008, мне нужен компилятор vs2008 и среда сборки. А буст этого не делает - он идет дальше и выбирает vs2010. Система сборки должна быть ссылочно прозрачной. То, что делает boost — выискивает глобальные системные настройки — чуть ли не худшее, что они могут сделать. - person Ted Middleton; 30.01.2014