Попытка построить Boost: я не могу получить bjam - PullRequest
10 голосов
/ 30 ноября 2011

Я хотел бы создать boost, используя два разных компилятора, MinGW и Visual C ++ 2010 Express, используя bjam:

bjam toolset=gcc,msvc variant=release link=static,shared threading=multi install

Проблема в том, что у меня нет bjam.Я не смог найти его в каталоге Boost, и тот, который я скачал откуда-то еще, был неправильной версией.

Я должен быть в состоянии собрать его из кода в Boost, но как?Я прочитал, что должен запустить build.bat из каталога BOOST_ROOT/tools/jam/src, но этот каталог не существует !

Спасибо!


  • Платформа: Windows7
  • Компиляторы: MinGW и Visual C ++ 2010 Express

Обновление:

Мне удалось получить bjamс: bootstrap.bat gcc
Затем, запустив bjam с предыдущими параметрами, я получаю библиотеки только для MinGW (.dll и .a).
Это выдержка из сообщений об ошибках, которые я получаю в отношении Visual C ++ 10:

...
    call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj.rsp"
...failed compile-c-c++ bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj...
...
...skipped <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>boost_unit_test_framework-vc100-mt-1_48.dll for lack of <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>compiler_log_formatter.obj...
...
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj
\Microsoft was unexpected at this time.
...
    call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj.rsp"

...failed compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj...
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\tss_dll.obj
\Microsoft was unexpected at this time.
...
...skipped <pC:\Boost\lib>boost_thread-vc100-mt-1_48.lib for lack of <pbin.v2\libs\thread\build\msvc-10.0\release\threading-multi>boost_thread-vc100-mt-1_48.lib
...

Пытается использовать:
bootstrap.bat vc100
Я получаю сообщение об ошибке: "Неизвестный набор инструментов: vc100"

С помощью:
bootstrap.bat vc10
или:
bootstrap.bat mingw
Я получаю: «\ Microsoft была неожиданностью в это время.»

Изменение project-config.jam не помогло.

Итак, я сделал большой шаг вперед, но vc10 не работает, пока ...

Ответы [ 2 ]

6 голосов
/ 30 ноября 2011

В вашем буст-директории есть bootstrap.bat . Запустите его.

Он будет автоматически собирать bjam (возможно, с использованием Visual C ++).

5 голосов
/ 06 декабря 2011

Структура каталогов в boost изменилась в последней версии, я думаю.

Источники для bjam находятся в tools/build/v2/engine. Запустите build.sh mingw из этого каталога, используя оболочку MinGW, и он должен собрать bjam.exe и b2.exe и поместить их в tools/build/v2/engine/ntx86. Скопируйте b2.exe в корневой каталог boost. После этого вы сможете создавать библиотеки Visual c ++ с b2 toolset=msvc.

Надеюсь, это поможет.

...