В который раз потребовалось собрать библиотеку и как это обычно бывает весьма не кстати потерялся командный файл упрощающий этот процесс.
Пришлось всё делать сначала. В итоге получился командный файл для сборки библиотеки Boost.Python, который также можно использовать в качестве шаблона для сборки необходимых boost-библиотек:
Краткое пояснение:
Пришлось всё делать сначала. В итоге получился командный файл для сборки библиотеки Boost.Python, который также можно использовать в качестве шаблона для сборки необходимых boost-библиотек:
::
:: Build x86/x64 Boost.Python library
::
call :ExecBjam 32
call :ExecBjam 64
pause
goto :EOF
::
:: Execute bjam.exe with required params
::
:ExecBjam
set arch=%1
set stagedir=stage
if "%arch%"=="64" set stagedir=stage64
bjam.exe ^
-j 2 ^
--toolset=msvc-9.0 ^
release debug ^
threading=multi link=static runtime-link=shared ^
address-model=%arch% ^
--with-python --with-date_time ^
--stagedir=%stagedir% ^
stage
goto :EOF
Краткое пояснение:
- call :ExecBjam XX - сборка для i386 и amd64
- -j N - задействовать N ядер
- --toolset=msvc-9.0 - Visual Studio 2008
- threading=multi - сборка с поддержкой многопоточности
- --with-python - При сборке я предпочитаю использовать --with-libname вместо --without-libname, т.к. в этом случае будут скомпилированы только указанные библиотеки (что бы не собирать неиспользуемые библиотеки)
- link=static - собрать статическую версию библиотек
- runtime-link=shared - динамическая линковка с Visual C++ Runtime
- --stagedir=stage%arch% - директория для выходных файлов (stage для x86 и stage64 для и x64)