Здорова ребятки! Сегодня разберем как подключить и настроить библиотеку boost под windows для visual studio 2010. И так для начала скачаем библиотеку с сайта http://www.boost.org/ там выбираем последнюю версию как на скрине ниже и скачиваем.
Дальше эту библиотеку сохраняем на диск, затем разархивируем в какую нибудь папку, у меня это папка как на скрине ниже
Дальше заходим в меню пуск и нам нужно запустить командную строку visual studio 2010 как на скрине ниже
Запустится командная строка, вводим диск где находится наша папка с файлами буста, у меня это диск E и я ввожу e: и перехожу на диск.
Дальше используем комманду cd и переходим в нужную нам директорию, ну для начала чтобы вывести все файлы я использую команду dir, затем смотрю список папок и ту которая нам нужно и ввожу команду cd lib C++ и так дальше пока не зайдем в папку куда разорхивировался наш boost.
На скрине мы видим выделенный файл bootstrap.bat который находится в нашей директории, (вывести все файлы мы используем команду dir) и мы запустим этот файл на выполнение командой bootstrap, после чего у нас в папке появится новый файл который будет называться bjam.exe, мы должны его запустить через командную строку с дополнительными параметрами для построения библиотек:
Для создания релиза:
1 |
bjam toolset=msvc link=static threading=multi release stage |
примерно создается минут 20.
Для создания дебага:
1 |
bjam toolset=msvc link=static threading=multi debug stage |
так же долго создается минут 20.
[tip]
Лучше использовать другой код который компилирует все типы lib, для этого в папке с бустом у вас должно быть достаточно свободного места.
1 |
bjam --build-type=complete msvc stage --without-python |
Строка выше создаст все либы кроме либ для питона. У меня была проблема я создал по первым двум строкам либы для дебага и для релиза и когда я подключил к вс2010 он выдал ошибку типо нету либы с именет libboost_timer-vc100-mt-gd-1_58.lib. Если вы сделаете все либы строчкой выше скомпилируете буст, то у вас все появится.
И так сейчас я скачал последнюю версию boost 1.59 и там были свои проблемы, например ругался антивирус и пришлось чтобы запустить файл bootstrap.bat выключать антивирус. И создается файл уже не bjam.exe а b2.exe, в общем такие изменения 🙂 Нет все таки создается и bjam.exe он просто пропадает когда мы его запускаем, так что он пропал, нужно было заново делать bootstrap.bat
мне пришлось скомпилировать sgd флагами файл, посмотреть как флаги добавлять можно тут. Я скомпилировал с b2 командой b2 —build-type=complate runtime-link=static и тогда у меня появилась s в названии файла libboost_filesystem-vc100-mt-sgd-1_59.lib
[/tip]
После этого наша библиотека с компилировалась. Дальше осталось ее подключить к нашей visual studio 2010, для этого зайдем в свойства проекта, в обозревателе решений кликнем правок клавишей мышки и выберем свойства
Нас интересуют каталоги включения и каталоги библиотек, в каталоги включения прописываем путь к подключаемым файлам, у меня это
И прописываем путь к подключаемым библиотекам, у меня это
Все прописали, дальше создаем файл main.cpp и в него добавляем просто любой код с использованием boost, например отетот
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <boost/thread/thread.hpp> #include <iostream> void hello() { std::cout << "Hello world, I'm a thread!" << std::endl; } int main(int argc, char* argv[]) { boost::thread thrd(&hello); thrd.join(); return 0; } |
Запускаем и в результате у нас выведется
В общем все у нас работает, и походу либа эта статическая, нету dll-лок. Долго
[youtube]https://www.youtube.com/watch?v=p0vAy-ItBUU[/youtube]