Чисто заметка, без вдавания в детали.
Для начала нужно поставить MinGW и MSYS.
Сделать это можно двумя путями. Первый, это поставить и то и другое средствами mingw-get-inst: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/
Но там только GCC 4.7.2, а мне нужен был GCC 4.8 (где брать свежие сборки MinGW я уже
ранее писал, замечу только, что брать нужно версию с поддержкой threads-posix и dwarf, если вдруг захочется использовать бинарные сборки Qt). MSYS поставил при помощи mingw-get
(
http://sourceforge.net/projects/mingw/files/Installer/mingw-get/, а можно и вручную, скачивая и распаковывая файлы отсюда:
http://sourceforge.net/projects/mingw/files/MSYS/).
Распаковываем его, к примеру, в C:\msys
, далее:
cd C:\msys\bin
mingw-get.exe update
mingw-get.exe install msys
После этого MSYS будет расположен в C:\msys\msys\1.0
.
Если потребуется ещё что-то от msys: mingw-get list
вам в помощь.
Далее сборка Boost (у меня 1.53.0).
Распаковываем его, например в D:\boost_1_53_0
Настраиваем пути до компилятора (делаем это из запущенной копии cmd
):
set PATH=c:\msys\msys\1.0\bin;c:\mingw\bin;%PATH%
Тут обращаю ваше внимание на один факт, за который разработчикам буста нужно малость по рукам настучать:
буст соберётся хорошо только в случае, если MinGW поставлен в C:\MinGW
и ни как иначе!
После чего собираем bjam
:
cd D:\boost_1_53_0\tools\build\v2
bootstrap.bat gcc
b2 --prefix=C:\boost install
set PATH=%PATH%;C:\boost\bin
Теперь мы готовы собирать сам буст:
cd D:\boost_1_53_0\
bjam -j2 toolset=gcc --build-type=complete --prefix=C:\boost install
Вместо -j2
ставим нужное количество потоков сборки.
После продолжительной сборки буст будет расположен:
- заголовки:
C:\boost\include\boost-1_53
- библиотеки:
C:\boost\lib
И полезные параметры при сборке:
-Wno-unused-local-typedefs -DGLIBCXX_FORCE_NEW -D_WIN32_WINNT=0x0501 -DBOOST_THREAD_USE_LIB -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN
Для совсем ленивых, напоминаю про альтернативную сборку MinGW от Стефана, в ней он уже обновил GCC до 4.8 и Boost до 1.53. Кстати, Стефан работает в Microsoft :)