S>Вопрос банальный, но угробив день на это, задаю вопрос:
S>Как собрать boost для Qt под Windows?
S>Например, следуя инструкциям http://www.boost.org/doc/libs/1_51_0/doc/html/bbv2/installation.html msys не понимает, где директория b2. Как и я.
1) Что такое "boost для Qt под Windows"?
boost это одна библиотека
Qt — другая.
2) Под какой Вам компилятор нужно? cl/gcc ?
Во общем как собираю я. Батники кладете прямо в папку с библиотекой т.е. в ./boost_1_54_0
| | "Для msvc 2010" |
| | echo "BUILD BOOST X64"
bjam.exe --toolset=msvc-10.0 address-model=64 debug release threading=single threading=multi link=static runtime-link=static runtime-link=shared define=BOOST_SIGNALS_NAMESPACE=boost_signal_ns -sNO_COMPRESSION=0 -sNO_ZLIB=0 -sZLIB_SOURCE="./../../../../../zlib-1.2.8" -sZLIB_INCLUDE="./../../../../../zlib-1.2.8" stage
echo "Rename ./stage/lib -> ./stage/lib_cl_x64"
move "./stage/lib" "./stage/lib_cl_x64"
echo "BUILD BOOST X32"
bjam.exe --toolset=msvc-10.0 address-model=32 debug release threading=single threading=multi link=static runtime-link=static runtime-link=shared define=BOOST_SIGNALS_NAMESPACE=boost_signal_ns -sNO_COMPRESSION=0 -sNO_ZLIB=0 -sZLIB_SOURCE="./../../../../../zlib-1.2.8" -sZLIB_INCLUDE="./../../../../../zlib-1.2.8" stage
echo "Rename ./stage/lib -> ./stage/lib_cl_x32"
move "./stage/lib" "./stage/lib_cl_x32"
|
| | |
| | "Для mingw" |
| | echo off
set ORIG_PATH=%PATH%
echo "BUILD BOOST X64"
set PATH=C:\MinGWw\x64\mingw64\bin;%ORIG_PATH%
bjam.exe --toolset=gcc pch=off address-model=64 debug release threading=single threading=multi link=static runtime-link=static runtime-link=shared define=BOOST_SIGNALS_NAMESPACE=boost_signal_ns -sNO_COMPRESSION=0 -sNO_ZLIB=0 -sZLIB_SOURCE="./../../../../../zlib-1.2.8" -sZLIB_INCLUDE="./../../../../../zlib-1.2.8" stage
echo "Rename ./stage/lib -> ./stage/lib_gcc_x64"
move "./stage/lib" "./stage/lib_gcc_x64"
rem echo "BUILD BOOST X32"
rem set PATH=C:\MinGWw\x32\mingw32\bin;%ORIG_PATH%
rem bjam.exe --toolset=gcc pch=off address-model=32 debug release threading=single threading=multi link=static runtime-link=static runtime-link=shared define=BOOST_SIGNALS_NAMESPACE=boost_signal_ns -sNO_COMPRESSION=0 -sNO_ZLIB=0 -sZLIB_SOURCE="./../../../../../zlib-1.2.8" -sZLIB_INCLUDE="./../../../../../zlib-1.2.8" stage
rem echo "Rename ./stage/lib -> ./stage/lib_gcc_x32"
rem move "./stage/lib" "./stage/lib_gcc_x32"
|
| | |
Естественно bjam, и b2 должны быть собраны.
Собираются они легко вот отсюда: ./boost_1_54_0/tools/build/v2/engine
Обратите внимание вот на это:
define=BOOST_SIGNALS_NAMESPACE=boost_signal_ns
Это наверно то что с натяжкой можно назвать boost для Qt.
Т.е. если планируется юзать бустовые сигналы, то нужно позаботиться о том чтобы namespace boost::signals имел другое имя (не пересекался с Qt-шным мкросом signals)
Удачи.