Библиотека boost c как установить
Перейти к содержимому

Библиотека boost c как установить

  • автор:

 

Configure Boost (C++ Libraries) on Xcode, Code::Blocks and Visual Studio

Boost is a set of libraries for the C++ programming language that provide support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing. It contains over eighty individual libraries.[2]

The other interesting points of Boost are :

  1. Open source
  2. Cross platform
  3. Complement to STL rather than a replacement
  4. Many of Boost developers are on the C++ standard committee
  5. Well documented
  6. Most of the Boost libraries are licensed under the Boost Software License, designed to allow Boost to be used with both free and proprietary software projects

Installation Boost

Before jumping into steps of configuring Boost on various IDE, let’s begin with Boost installation. To be noted that on this post I run Xcode on OS X, Code::Blocks on Linux (Ubuntu) and Visual Studio on Windows. The detail environments I use are :

  1. OS X 10.11.4 El Capitan
  2. Ubuntu 14.04.4 LTS
  3. Xcode Version 7.2
  4. Code::Blocks 13.12, gcc 4.8.4
  5. Visual Studio 2013
  6. Boost 1.60.0
OS X and Linux (Ubuntu)

There are several ways of Boost installation. Instead of build from source code, we can use package manager such as MacPorts, Homebrew, Advance Package Tool, etc. In this post we will build Boost from source code. The installation steps (from source code) on OS X and Ubuntu are the similar. To make it consistent, I use the same installation path for OS X and Ubuntu that is /usr/local/boost_1_60_0 . You can use different path if you want. The steps are :

  1. Download boost library from Boost website
  2. Extract it.
  3. Open terminal, navigate to the extracted directory
  4. Create directory on /usr/local/boost_1_60_0 , and ensure IDE has access to the directory. On my case I don’t need this step on OS X, but on ubuntu it does.

Once the installation finish, we should have generated directory. They are /usr/local/boost_1_60_0/include contains header files and /usr/local/boost_1_60_0/lib contains libraries.

Windows

The Boost installation step on Windows is also similar to the installation step on OS X and Ubuntu. The steps are :

  1. Download boost library from Boost website
  2. Extract it to C:\\boost_1_60_0
  3. Open Visual Studio command prompt. I use Visual Studio 2013 x86 Native Tools Command Prompt native tool (I have not test using default Windows Command Prompt)

Configure Boost on IDE(s)

Before create C++ projects on various IDE, let’s create a simple C++ hello world code that use Boost libraries. To simplify the test, I grab sample code from here

The snipped code above just print text and write it to a text file. We just want to ensure the IDE’s compiler can compile and build the code that includes Boost libraries.

Xcode
  1. Select Xcode project > Build Setting
  2. Add /usr/local/boost_1_60_0/include/ to the Header Search Paths
  3. Add /usr/local/boost_1_60_0/lib/ to the Library Search Paths
Code::Blocks
  1. Right Click on Code::Blocks project > Build Option
  2. Select Compiler tab, add /usr/local/boost_1_60_0/include/
  3. Select Linker tab, add /usr/local/boost_1_60_0/lib/
Visual Studio
  1. Right Click on VC++ project > Properties
  2. Select VC++ Directories on the left pane
  3. Add C:\boost_1_60_0 on Include Directories item
  4. Add C:\boost_1_60_0\stage\lib on Include Directories item
  5. Click OK to close the dialog

The last is rebuild the above code on selected IDE. We should not got any errors once the IDE can detect the Boost directory path.

Русские Блоги

Boost — это библиотека с открытым исходным кодом, поскольку библиотеки с открытым исходным кодом могут быть кроссплатформенными и могут передаваться на разных «аппаратных» платформах. Так что вам нужно установить его.

Установите, затем скомпилируйте и сгенерируйте «библиотеку статических ссылок» или «библиотеки динамических ссылок dll» и так далее.

2. Загрузите пакет установки Boost, который теперь достиг версии 1.60, поэтому для стабильности используйте версию 1.59

После распаковки следующий каталог выглядит следующим образом:

3 скомпилировать форсированные исходные файлы

3.1 После распаковки вы можете щелкнуть файл index.html и установить его через файл инструкций.

(1) Дважды щелкните файл boostrap.bat и запустите bootstrap.bat.

Он сгенерирует четыре файла b2.exe, bjam.exe, project-config.jam и bootstrap.log в корневом каталоге boost.

Среди них b2.exe, bjam.exe, эти два exe одинаковы, bjam.exe — старая версия, b2 — обновленная версия bjam.

3.2 компиляция надстройки с использованием bjam (или b2)

Анализ параметров команды bjam

b2 stage —toolset=msvc-12.0 —with-date_time —stagedir="D:\boost_1_56_0\" link=static runtime-link=static threading=multi debug release

stage указывает, что генерируются только библиотеки (dll и lib), а install также генерирует каталоги include, содержащие заголовочные файлы. Я рекомендую использовать stage, поскольку каталог include, созданный при установке, фактически является каталогом boost после распаковки пакета установки boost (есть только несколько файлов, отличных от hpp, чем каталог include, которые очень малы), так что вы можете использовать его напрямую, а разные IDE имеют Вы можете использовать тот же набор файлов заголовков, который экономит время компиляции и место на жестком диске.

Укажите компилятор, необязательный, такой как borland, gcc, msvc (VC6), msvc-9.0 (VS2008) и т. Д.

 

vs2008 : msvc-9.0,vs2010 : msvc-10.0,

Выберите, какие библиотеки не компилировать / компилировать. Поскольку мне не нужны python, mpi и другие библиотеки, я исключаю их. Существуют также статические библиотеки, скомпилированные несколькими библиотеками, такими как wave, graph, math, regex, test, program_options, сериализация и сигналы, поэтому без них можно использовать те, которые не нужны. Это может быть выбрано в соответствии с потребностями каждого, и по умолчанию все компилируется. Тем не менее, обратите внимание, что если вы решили скомпилировать python, вам нужна поддержка языка python, вы должны перейти на официальную домашнюю страницу python http://www.python.org/ для загрузки и установки.

Команда для просмотра библиотеки включает в себяbjam —show-libraries

Используйте stagedir для этапа и префикс для установкиУказывает путь к скомпилированному файлу. Рекомендуется указывать разные каталоги для разных IDE, например, VS2008 соответствует E: \ SDK \ boost \ bin \ vc9, а VC6 соответствует E: \ SDK \ boost \ bin \ vc6, в противном случае он будет создан в каталоге, что сложно. управление. Если используется параметр установки, будет также сгенерирован каталог заголовочного файла. Vc9 соответствует E: \ SDK \ boost \ bin \ vc9 \ include \ boost-1_46 \ boost. Vc6 похож (путь такой громоздкий, поэтому используйте этап хорошо).

Рекомендуемый формат конфигурации: (во избежание загрязнения исходного кода поместите его в ту же структуру каталогов, что и boost)

*** \ boost ** 159 \ (исходный файл)

***\boost**159_bin_SDK\msvc12_release

***\boost**159_bin_SDK\msvc12_debug

***\boost**159_bin_SDK\gcc11_release

***\boost**159_bin_SDK\gcc11_debug

Путь к промежуточному файлу, сгенерированному компиляцией. Я не использую его здесь, по умолчанию он находится в корневом каталоге (E: \ SDK \ boost), имя каталога bin.v2, после завершения компиляции вы можете удалить весь этот каталог (бесполезно), поэтому нет необходимости устанавливать ,

Создать динамическую библиотеку ссылок / статическую библиотеку ссылок. Чтобы сгенерировать библиотеку динамических ссылок, используйте метод shared, а для создания библиотеки статических ссылок используйте метод static. Как правило, библиотеки Boost могут быть скомпилированы статически, потому что в финальном выпуске программа будет чувствовать себя более громоздкой с Boost DLL.

Динамический / статическийСвязывание библиотек времени выполнения C / C ++, Есть также два метода: общий и статический. Таким образом, ссылка-время выполнения и ссылка могут генерировать всего 4 комбинации, и каждый может выбрать компиляцию в соответствии со своими потребностями.

Однопоточная / многопоточная компиляция. Обычно при написании многопоточных программ вы должны указать многорежимный режим: если вам нужно написать однопотоковую программу, вам также необходимо скомпилировать однопотоковую библиотеку, вы можете использовать однопотоковый режим.

Постройте версию отладки / выпуска. Обычно отладочная версия программы соответствует отладочной версии библиотеки, поэтому обе они компилируются.

Компиляция

Команда для компиляции boost более сложна, особенно не ясны функции link и runtime-link, они имеют 4 типа комбинаций. Что означают эти комбинации?

Поэтому сначала проведите эксперимент, скомпилируйте только библиотеку date_time и наблюдайте за эффектом этих двух параметров.

boost & MinGW

При работе в Linux проблем с установкой каких-либо дополнительных библиотек из родного репозитория программ, как правило, не возникает. Все, что нужно сделать, это выбрать необходимое из репозитория и установить. Репозиторий и представляет собой коллекцию специально отобранных и подготовленных пакетов предназначенных работать в системе, для которой этот репозиторий предназначен. В мире Windows такого понятия нет. Поэтому, при установке отдельных элементов разработки, например, библиотек, законным может встать вопрос о том, под какую систему сборки необходимо выполнить данную установку.

Стандартная установка boost ориентирована на подключение к Visual Studio. Здесь же мы рассмотрим установку boost под систему сборки MinGW. Система MinGW должна быть уже установлена. Ее можно установить отдельным пакетом, но так как я используют для работы с кодом C/C++ среду разработки QtCreator, то я устанавливаю MinGW вместе с комплексным пакетом QtCreator + Qt SDK.

Получить требуемую версию установочного пакета можно на сайте www.boost.org. Скачаем ее, распакуем и разместим в любом удобном для компиляции месте файловой системы. Можно разместить прямо в корне диска C:. Приведу пример на основе версии 1.52, которая мне понадобилась. Скаченный пакет имел название boost_1_52_0.tar.bz2 и был распакован по пути C:/boost_1_52_0. Здесь и далее я буду использовать прямые слеши в обозначении путей согласно нотации POSIX, чтобы свести к минимуму разницу с работой в *nix.

Для сборки библиотеки boost необходимо воспользоваться командной строкой. Чтобы быть уверенным в установке необходимых системных переменных для MinGW для командной строки, вызовем окно с коммандным процесором cmd через главное меню Windows. Для этого щелкнем кнопку «Пуск» и в установленных программах выберем раздел «Qt SDK/Desktop» внутри которого выберем запуск командной оболочки — «Qt x.x.x for Desktop (MinGW)». Откроется окно с приглашением командного процессора cmd.

С помощью команд процессора cmd необходимо зайти в директорию C:/boost_1_52_0. Для тех, кто еще не подружился с работой в командной строке Windows напомним, что для этого можно выполнить следующие команды.

Значок > означает приглашение к вводу команды для процессора cmd. Не следует писать его самому.

Теперь необходимо выполнить сборку специального инструмента bjam, который и будет управлять компиляций библиотеки boost под указанный компилятор. Чтобы собрать bjam под MinGW необходимо выполнить в директории C:/boost_1_52_0/ следующую команду.

После успешного выполнения этой команды, требуется, собственно, собрать boost. Это делается следующим образом.

Значение параметра toolset определяет систему сборки, а текущее значение параметра link указывает на необходимость сборки не только статических, но и динамических библиотек. При успешной сборке библиотеки, в директории C:/boost будет размещены установленные конечные файлы библиотеки.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *