Як встановити бібліотеку boost stack overflow російською

Бібліотека boost - це набір частково компільованих вихідних кодів. У деяких випадках нічого не потрібно збирати, досить завантажити з офіційного сайту дистрибутив, розмістити в зручному місці і в настройках проекту вказати шляхи.

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

В змінні середовища (в windows це там же, де і PATH) я заношу змінну BOOST_ROOT. яка вказує на останню збірку. Тобто як з'явиться нова, я створю папку boost_1_XX_Y і перепризначив цю змінну.

В налаштуваннях будь-яких проектів мені досить вказати $ (BOOST_ROOT) \ include - для доступу до headers, і $ (BOOST_ROOT) \ stage \ lib32 / $ (BOOST_ROOT) \ stage \ lib64 для доступу до конкретних бібліотекам, потрібної мені розрядності.

Оскільки boost автоматично видає імена зібраних бібліотекам, з урахуванням компіляторів, якими вони збираються, навіть якщо у Вас різні компілятори, бінарники зручно скидати в одну папку, як зазначено вище.

  • З Intel Compiler у Вас вийдуть libboost_name-iw-type-version.lib.
  • З Visual Studio у Вас вийдуть libboost_name-vcXX-type-version.lib. де XX - версія компілятора visual studio (НЕ студії, а саме компілятора).
  • З MinGW з gcc у Вас вийде libboost_name-gcc-type-version.lib. якщо мені не зраджує пам `ять.

При цьому для збірки бібліотек, які необхідно збирати, необхідно виконати одні й ті ж дії в консолі:

  • Для Intel Compiler це буде у відповідному Command Prompt.
  • Для Visual Studio це буде у відповідному Command Prompt.
  • Для MinGW це буде в звичайній консолі, якщо, звичайно, шлях до bin в MinGW у Вас доданий в змінну середовища PATH.

Дії треба виконати одні й ті ж. Спочатку bootstrap.bat. а потім b2 --help.

У хелпе b2 Ви побачите всі варіанти настройки збірки, щоб зібрати найбільш зручним для Вас чином.

Рядок буде виглядати так:

b2 параметр1параметр2параметр3.

  • toolset - його варто вказати, щоб збірка проводилася конкретним компілятором (gcc, intel, visual studio), причому можна вказати і версію компілятора.
  • variant, вид зборки, debug або release. Для розробки Вам знадобляться обидва варіанти.
  • link - Ви вибираєте, буде Ваш бінарний код звертатися в dll або містити "в собі" все використовувані алгоритми.
  • threading - чесно кажучи, погано розумію сенс цієї директиви і завжди вказую multi. Рідко ми пишемо однопоточні додатки.
  • runtime-link - те саме, що і link, тільки для Рантайм.
  • address-model - параметр не вказано в хелпе, але допомагає вибрати архітектуру збираються бібліотек.
  • stage / install, відрізняються лише тим, що install дозволить "вивантажити" тільки потрібне в окрему папку, stage збирає все туди, де воно є. Якщо Ви не захоплюєтеся змінами початкових кодів boost, stage Вам цілком підійде.

У підсумку виходить щось на зразок ось такого:

Для дебага в x32 і такого:

Для релізу в x32.

Чекаєте близько 40 хвилин, радієте результату. У разі проблем - гуглити, швидше за все вже тисячі людей стикалися з Вашою проблемою, і її рішення - неуважність або якісь специфічні настройки чогось. Наприклад, при складанні boost python вилазить багато warning-ів на MinGW через конфлікт хедерів, подібні речі можна розрулити в приватному порядку.

Витративши 2 години то, щоб один раз в цьому розібратися, Ви ніколи не будете залежати ні від яких сторонніх збірок, будете розуміти, де у Вас що лежить, хто туди поклав і т.п. Загалом, це корисно.

ЗИ: Command Prompt знаходиться в Visual Studio Tools. Або подивіться в VStudio_PATH \ CommonXX \ Tools \ VsDevCmd.bat

Схожі статті