Подключение и работа boost в visual studio 2010

Рубрика: C++, Дата: 2 April, 2015, Автор:

boostЗдорова ребятки! Сегодня разберем как подключить и настроить библиотеку boost под windows для visual studio 2010. И так для начала скачаем библиотеку с сайта http://www.boost.org/ там выбираем последнюю версию как на скрине ниже и скачиваем.

boost download

Дальше эту библиотеку сохраняем на диск, затем разархивируем в какую нибудь папку, у меня это папка как на скрине ниже

boost lib

Дальше заходим в меню пуск и нам нужно запустить командную строку visual studio 2010 как на скрине ниже

vs2010 command

Запустится командная строка, вводим диск где находится наша папка с файлами буста, у меня это диск E и я ввожу e: и перехожу на диск.

command line

Дальше используем комманду cd и переходим в нужную нам директорию, ну для начала чтобы вывести все файлы я использую команду dir, затем смотрю список папок и ту которая нам нужно и ввожу команду cd lib C++ и так дальше пока не зайдем в папку куда разорхивировался наш boost.

command boost

На скрине мы видим выделенный файл bootstrap.bat который находится в нашей директории, (вывести все файлы мы используем команду dir) и мы запустим этот файл на выполнение командой bootstrap, после чего  у нас в папке появится новый файл который будет называться bjam.exe, мы должны его запустить через командную строку с дополнительными параметрами для построения библиотек:

Для создания релиза:

bjam toolset=msvc link=static threading=multi release stage

примерно создается минут 20.

Для создания дебага:

bjam toolset=msvc link=static threading=multi debug stage

так же долго создается минут 20.

Лучше использовать другой код который компилирует все типы lib, для этого в папке с бустом у вас должно быть достаточно свободного места.

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

После этого наша библиотека с компилировалась. Дальше осталось ее подключить к нашей visual studio 2010, для этого зайдем в свойства проекта, в обозревателе решений кликнем правок клавишей мышки и выберем свойства

vs2010 propertiesНас интересуют каталоги включения и каталоги библиотек, в каталоги включения прописываем путь к подключаемым файлам, у меня это

cat include

И прописываем путь к подключаемым библиотекам, у меня это

cat lib

Все прописали, дальше создаем файл main.cpp и в него добавляем просто любой код с использованием boost, например отетот

#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;
}

Запускаем и в результате у нас выведется

ress

В общем все у нас работает, и походу либа эта статическая, нету dll-лок. Долго

 

[youtube]https://www.youtube.com/watch?v=p0vAy-ItBUU[/youtube]

 

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *