Як встановити бібліотеки C++ Boost на Windows

Boost — це набір високоякісних бібліотек, які прискорюють розробку C++. Вони включені в більшість дистрибутивів Linux, і деякі з них вже є частиною стандартної бібліотеки C++. У середовищі Windows їх потрібно встановити, щоб скористатися ними.

Якщо ви використовуєте Microsoft Visual Studio, ви можете уникнути наступних кроків, завантаживши двійкову версію з http://www.boostpro.com/download/ і перейдіть до розділу Тестування в цьому документі.

Установка
Завантажте та розпакуйте вихідний код boost із http://www.boost.org/. Я розпакую його в C:/optc-libs, але ви можете використовувати шлях, який вам більше подобається. Після розпакування відкрийте командний рядок і перейдіть до вибраної папки:

cd C:/optc-libsboost_1_51_0

Запустіть bootstrap.bat і вкажіть свій набір інструментів. Цей скрипт підтримує такі набори інструментів: borland, como, gcc, gcc-nocygwin, intel-win32, metrowerks, mingw, msvc, vc7, vc8, vc9, vc10, vc11. У моєму випадку я буду використовувати набір інструментів mingw:

bootstrap.bat mingw

Всі необхідні файли для компіляції повинні бути готові. Тепер вам потрібно визначити каталог встановлення та вказати набір інструментів. Тут набори інструментів дещо відрізняються від тих, які ми використовували раніше:

  • acc: Hewlett Packard, Only very recent versions are known to work well with Boost
  • borland: borland
  • como: Comeau Computing, Using this toolset may require configuring another toolset to act as its backend
  • darwin: Apple, Apple’s version of the GCC toolchain with support for Darwin and MacOS X features such as frameworks.
  • gcc: The Gnu Project, including Cygwin and MinGW
  • hp_cxx: Hewlett Packard, Targeted at the Tru64 operating system.
  • intel: Intel****
  • msvc: Microsoft
  • sun: Sun, Only very recent versions are known to work well with Boost.
  • vacpp: IBM, The VisualAge C++ compiler.

Оскільки я використовую MinGW, я буду використовувати gcc.

b2 install --prefix=c:/installation/path toolset=gcc

У цей час можна піти випити чашечку кави. А може дві.

Коли компіляція закінчиться, перейдіть до вибраного шляху встановлення (увага!, це не та папка, куди ви спочатку розпакували вихідний код). Ви знайдете дві папки: include і lib. Обидві папки повинні містити файли. Це означає, що ви готові до етапу тестування.

Якщо будь-яка з вищезгаданих папок порожня, у нас виникають проблеми. Поширені проблеми виникають через вибір неправильного набору інструментів для компіляції, тому якщо ваша папка lib порожня, спробуйте вибрати інший набір інструментів. Якщо помилка не зникає, подивіться на результат компіляції. Помилки повинні бути показані там, особливо в останніх рядках виводу.

Тестування
З вашої IDE створіть файл з іменем main.cpp і скопіюйте в нього наступний текст:

#include <boost/regex.hpp>

int main()
{
    std::string line;
    boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

    while (std::cin)
    {
        std::getline(std::cin, line);
        boost::smatch matches;
        if (boost::regex_match(line, matches, pat))
            std::cout << matches[2] << std::endl;
    }
}

Настав час компіляції (і посилання)
Щоб ваш компілятор знав, де шукати заголовки та бібліотеки, ви повинні виконати наступні кроки. Зазвичай їх можна виконати, клацнувши правою кнопкою миші на своєму проекті та вибравши «Властивості» або «Параметри».

Додайте такий шлях до свого списку включень:

C:/installation/path/include/boost-version

Додайте наступний шлях до списку ваших додаткових каталогів бібліотек

C:/installation/path/lib

Важливо: якщо ви використовуєте Netbeans, вам слід вводити лише /installation/path/lib (ви повинні пропустити C:). З дуже дивної причини Netbeans додає косу риску на початку параметра /L, який використовується для компіляції (тільки коли він починається з C:), що призводить до невідомого шляху. Це може бути виправлено в наступних версіях.

Якщо ви використовуєте компілятор gnu (тобто Cygwin або MinGW), ви також повинні додати конкретну бібліотеку до компоновщика. Якщо ви використовуєте Microsoft Visual Studio, ви можете пропустити цей крок, оскільки він включає так звану підтримку автоматичного зв’язування. Але в моєму випадку я повинен додати таку бібліотеку до свого списку бібліотек, щоб компонувальник працював без скарг:

C:/installation/path/lib/libboost_regex-mgw47-mt-1_51.a

Ця назва файлу складається з:

  • Стандартний префікс lib. DLL не використовують його.
  • Ім’я бібліотеки boost_regex.
  • Набір інструментів, використаний для його компіляції, у моєму випадку mgw47, тобто MinGW версії 4.7.
  • Тег потокової обробки mt, який вказує, чи приймає бібліотека багатопотоковість.
  • Тег ABI, який може бути: d для налагодження, s для статичного зв’язування або g, y, p, які не розглядаються в цьому тексті.
  • Тег версії.
  • Розширення, яке може бути .lib або .a.

Ти готовий. Побудуємо програму.
Програма, яку ви щойно скомпілювали (і зв’язали), може проаналізувати текстовий файл, шукаючи в ньому рядок, що починається з тексту «Subject:». Отже, щоб перевірити його, скопіюйте та вставте наступний текст у порожній текстовий файл і назвіть його test.txt (збережіть його в папку, де знаходиться ваш файл .exe):

To: George Shmidlap
From: Rita Marlowe
Subject: Will Success Spoil Rock Hunter?
---
See subject.


Тепер у командному рядку введіть:

yourprogram.exe < test.txt

Якщо все піде правильно, ви повинні побачити наступний текст:

Will Success Spoil Rock Hunter?

Висновок
На цьому етапі Boost має бути готовий на вашому комп’ютері з Windows. Я пропоную вам прочитати про цю величезну бібліотеку, оскільки вона може допомогти вам значно полегшити ваше життя.

Істочник: andres.jaimes.net

Дати оцінку данній статті

Про автора

Додати коментар

Недавні записи