Як встановити бібліотеку 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