30 апр. 2010 г.

Компиляция библиотеки Boost на вашем компьютере

Библиотека Boost является одним из самых популярных сборников утилит для программирования на Си++. Львиная доля утилит и полезных классов Boost-a находится в заголовочных файлах, поэтому для их использования вашему IDE достаточно лишь указать путь к папке с заголовками библиотеки. Однако Boost так же имеет ряд утилит, воспользоваться которыми вы сможете только после их компиляции. К таким утилитам отнесятся:

Boost.Filesystem
Boost.IOStreams
Boost.ProgramOptions
Boost.Python
Boost.Regex
Boost.Serialization
Boost.Signals
Boost.System
Boost.Thread
Boost.Wave
Boost.DateTime
Boost.Graph
Boost.Test

Именно с компиляцией утилит библиотеки Boost и возникает большинство проблем. Однако следуя нижеприведенным инструкциям вы избавитесь от большинства проблем, связанных с установкой Boost-а на вашем компьютере. Отмечу лишь, что инструкции касаются компиляции Boost-a при помощий дистрибутива MinGW. Итак:

1. Установите либо отдельный дистрибутив MinGW, либо IDE c MinGW.

2. Пропишите в системной переменной Path имеющийся у вас дистрибутив MinGW таким образом, чтобы компилятор gcc мог легко вызываться из командной строки.

3. Скачайте библиотеку Boost и утилиту Boost Jam на ваш компьютер.

4. Создайте папку C:\Boost, и распакуйте в нее библиотеку Boost.

5. В папку с распакованной библиотекой Boost (С:\Boost\boost_1_42_0 в моем случае) поместите файл bjam.exe, извлеченный из архива утилиты "Boost Jam".

6. Создайте системную переменную BOOST_ROOT, содержащей путь к папке с библиотекой Boost (C:\Boost\boost_1_42_0 в моем случае).

7. Откройте командную строку и войдите в папку с библиотекой Boost (C:\Boost\boost_1_42_0 в моем случае).

8. Введите команду bjam --toolset=gcc install, и наблюдайте за процессом компиляции библиотеки Boost.


После успешного завершения компиляции в папке библиотеки Boost (C:\Boost\boost_1_42_0 в моем случае) должны появиться две новые директории:

C:\Boost\include\boost-1_42
и
C:\Boost\lib

Первая будет содержать все заголовочные файлы библиотеки Boost, а вторая - lib-файлы скомпилированных утилит. Теперь вы без проблем сможете воспользоваться всеми утилитами библиотеки Boost.

Обратите внимание на то, что при использовании бесплатных IDE, таких как Code::Blocks или Bloodshed Dev-C++, вам придется дополнительно указать в настройках компилятора пути к двум вышеупомянутым папкам, а так же добавить в список имеющихся библиотек все скомпилированные вами lib-файлы библиотеки Boost.