Эти инструкции предполагают, что у вас установлена версия Visual Studio 2012 или Visual Studio 2012 Express вместе с boost 1.54.
Изменить содержание указанных ниже файлов в папке повышающего (который загружается и экстрагируют)
В boost_1_54_0\tools\build\v2\tools
изменения следующие файлы:
1. msvc.jam
Изменение:
toolset.flags msvc LINKFLAGS <user-interface>console : /subsystem:console ;
к этому вопросу для 32 бит:
toolset.flags msvc LINKFLAGS <user-interface>console : /subsystem:console,5.01 ;
или это для 64 бит:
toolset.flags msvc LINKFLAGS <user-interface>console : /subsystem:console,5.02 ;
2. msvc.py
Изменение:
toolset.flags('msvc', 'LINKFLAGS', ['<user-interface>console'], ['/subsystem:console'])
к этому для 32 бит:
toolset.flags('msvc', 'LINKFLAGS', ['<user-interface>console'], ['/subsystem:console,5.01'])
или это для 64 бит:
toolset.flags('msvc', 'LINKFLAGS', ['<user-interface>console'], ['/subsystem:console,5.02'])
В boost_1_54_0\tools\build\v2\engine
изменить следующие файлы:
1. сборки.летучая
Изменение:
if EXIST "%ProgramFiles%\Microsoft Visual Studio 11.0\VC\VCVARSALL.BAT" (
к:
if EXIST "%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\VCVARSALL.BAT" (
Над линией, которая читает :Skip_VC11
, изменение:
set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
к:
set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ /D _USING_V110_SDK71_ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
Открыть стандартной командной строки и введите следующие команды:
call "%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib;%LIB%
cd <path to boost_1_54_0>
bootstrap
Для 32 бит, используйте команду:
b2 toolset=msvc-11.0 variant=debug,release link=shared runtime-link=shared address-model=32
или 64 бита:
b2 toolset=msvc-11.0 variant=debug,release link=shared runtime-link=shared address-model=64
Чтобы компилировать любой образец для выпуска и отладки версии, выполните следующие действия:
Откройте стандартную командную строку и введите следующие команды:
call "%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib;%LIB%
перейдите в каталог образца, т.е. boost_1_54_0\libs\test\tools\console_test_runner
<path to boost>\boost_1_54_0\bjam.exe --v2 toolset=msvc-11.0 variant=debug,release link=shared threading=multi runtime-link=shared
Это также результат обсуждения [этой темы] (http://lists.boost.org/boost-build/2012/12/26630.php). Я уже прошел тест, и он выглядит хорошо. – mem64k
Насколько я знаю, это верно только для статической связи. Если вы используете динамическую связь, необходимую для boost_thread * .dll, вам нужно будет перестроить boost с соответствующими настройками, как описано в ответе ниже. – fmuecke