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

Как установить boost c

  • автор:

Как установить Boost C++ на Ubuntu 22.04

Для разработчика C++ наличие всех необходимых инструментов для облегчения разработки является дополнительным преимуществом. Библиотека Boost C++ содержит все библиотеки с открытым исходным кодом, необходимые для разработки на C++. Эти библиотеки поставляются в комплекте с Boost C++. После его установки вы можете начать использовать библиотеки в своем коде во время разработки.

Мы рассмотрим полную установку Boost C++ на Ubuntu 22.04.

Два способа установки Boost C++ в Ubuntu 22.04

У вас есть два варианта установки библиотеки Boost C++ в Ubuntu 22.04. Во-первых, вы можете установить его через репозиторий Ubuntu apt, но это не даст вам последнюю версию. Кроме того, вы можете установить его из исходного кода, что дает вам доступ к последней версии.

1. Установите Boost C++ через APT

Установка его через репозиторий apt — наиболее удобный способ быстрой установки Boost C++ на Ubuntu 22.04. Начните с обновления репозитория.

$ sudo apt update

Следующим шагом будет установка пакета libboost-all-dev, который содержит библиотеки разработки Boost C++.

$ sudo apt install libboost-all-dev

Пакеты Boost C++ имеют большой размер. Нажмите y, чтобы подтвердить установку. Убедитесь, что в вашей системе достаточно места для установки.

После завершения установки пакета убедитесь, что установка прошла успешно, проверив версию установки Boost C++.

$ dpkg -s libboost-dev | grep version

Установленная версия 1.74, но это не последняя версия. Чтобы получить последнюю версию, используйте второй метод установки, который мы обсудим позже в этой статье.

Когда вы устанавливаете Boost C++ через APT, вы можете удалить установленный пакет и зависимости с помощью следующей команды:

$ sudo apt autoremove libboost-all-dev

2. Установите Boost C++ через исходный код

Для тех, кто хочет испачкать руки, установив последние библиотеки Boost C++, вы должны установить их через исходный код.

Начните с посещения веб-сайта Boost C++ и откройте раздел «Загрузки». Найдите параметр «Ускорить загрузку» и нажмите «Текущий выпуск».

Появится список доступных текущих выпусков, которые вы можете загрузить. Щелкните правой кнопкой мыши параметр «tar.gz» и скопируйте его ссылку. Вы также можете нажать на нее, чтобы начать загрузку.

На вашем терминале используйте wget для загрузки файла через терминал. Используйте ссылку, которую вы скопировали с помощью команды wget, чтобы начать загрузку.

После завершения загрузки перейдите в каталог загрузки. Здесь мы перемещаем файл в наши «Загрузки», чтобы убедиться, что мы загрузили файл tar, содержащий исходный код.

Извлеките архивный файл с помощью следующей команды:

$ tar xvf boost_1_81_0_tar.gz

Перейдите в извлеченный каталог «Boots».

$ cd boost_1_81_0 /

Мы должны установить необходимые зависимости для поддержки установки Boost C++. Выполните следующую команду, и все зависимости будут установлены:

$ sudo apt install build-essential python3-dev g++ autotools-dev libicu-dev libbz2-dev -y

Затем нам нужно настроить начальную загрузку Boost. Следующая команда запускает сценарий Bootstrap и создает механизм B2:

$ sudo . / bootstrap.sh —prefix = / usr /

Теперь вы можете запустить сгенерированный движок B2.

Наконец, установите Boost C++ с помощью пакета B2.

$ sudo . / b2 install

После запуска программы установка завершится, и в вашей системе будут доступны библиотеки Boost C++. Затем вы можете вызывать их при написании проектов на C++.

Заключение

Boost C++ — удобная библиотека для работы с проектами C++. Он предлагает различные библиотеки, которые вы можете использовать. Мы рассмотрели два способа установки на Ubuntu 22.04. Вы можете установить его напрямую через APT или используя его исходный код. Используйте тот способ, который удобен для вашего случая.

Все права защищены. © Linux-Console.net • 2019-2024

Сборка boost. Шпаргалка

На странице очень кратко описан процесс сборки boost. Тем, кто знаком с процессом сбоки boost, статья может быть полезна в качестве шпаргалки или источника для копипасты. Начинающие могут рассматривать эту страницу как дополнительный материал к другим источникам. Не стоит рассматривать эту статью как основной источник информации по этой теме.

Сборка boost под Windows и Linux

Процесс сборки библиотеки boost для ОС Windows и Linux существенно не отличается, за исключением указания компилятора на ОС Windows. Далее кратко описаны необходимые шаги:

  • Скачать дистрибутив с официального сайта.
  • Распаковать в любую директорию, условно, .
  • cd.
  • Выполнить bootstrap.bat или bootstrap.sh . Для Windows при необходимости добавить аргумент gcc.
  • Почитать b2 —help, если интересно, как использовать билдер boost (b2).
  • Сборка.

Примеры команд для сборки boost под mingw:

b2 toolset=gcc link=shared --prefix=C:/boost install b2 toolset=gcc threading=multi link=static runtime-link=shared --prefix=C:/boost install b2 --build-type=complete toolset=gcc threading=multi link=static runtime-link=shared stage

Примеры команд для сборки boost под Visual C++:

b2 toolset=msvc variant=debug link=shared threading=multi runtime-link=shared stage b2 toolset=vc140 link=static threading=multi runtime-link=shared address-model=32 install
Сборка кросс-компилятором под ARM
  • Скачать и распаковать.
  • Запустить bootstrab.sh .
  • Открыть project-config.jam, заменить «using gcc» на «using gcc : arm : arm-linux-gnueabihf-g++».
  • Добавить путь к тулчейну в переменную PATH (если не сделано).
  • В командной строке b2 указать: toolset=gcc-arm cxxflags=»-std=c++11″.
  • Сборка.

Итоговая строка b2 будет выглядеть так:

./b2 toolset=gcc-arm cxxflags="-std=c++11" --prefix=/home/user/boost-arm/ stage install

Примечание: флаг cxxflags background-color: inherit; color: inherit; font-family: inherit; font-size: 1rem;»>++11″ в некоторых случаях может помочь при компоновке boost::log.

Замечания о стаической компоновке

По какой-то причине на дистрибутивах с архитектурой x86_64 статические библиотеки, устанавливаемые через пакетный менеджер из репозиториев, собраны без флага -fPIC. Это не позволяет осуществлять статическую компоновку библиотеки к динамической библиотеке, что иногда бывает нужно. Для решения проблемы приходится пересобирать библиотеки с указанием флага -fPIC. Кроме того, крайне желательно явно указать стандарт языка при сборке библиотек. Следовательно, команда сборки библиотек Boost может выглядеть так:

./b2 link=static threading=multi cxxflags="-fPIC -std=c++11" install --prefix=/path-to-install

Отдельное слово про Boost::log: с этой библиотекой часто возникают различные проблемы при сборке. Уйма времени потрачена на то, чтобы понять, почему эта библиотека не работает / не компонуется на той или иной платформе и как вывод во многих случаях лучшим решением было просто отказаться от нее.

Работа с Boost и CMake под Windows

Работа с Boost и CMake под Windows

Приветствую! Составил небольшую заметку по настройке и статической линковке библиотеки Boost с помощью CMake под Windows. Boost представляет собой набор библиотек на языке C++ с широким функционалом и является в некотором роде полигоном для апробирования некоторых идей, которые затем попадают в новые стандарты языка С++. Для установки и настройки CMake проекта прошу под кат!

Установка Boost

1. Скачивание и подготовка библиотеки

Скачайте библиотеку по адресу https://www.boost.org/users/download/ и распакуйте архив, например, в директорию C:/Boost. Затем перейдите в директорию и запустите файл bootstrap.bat, дождитесь окончания его работы. После этого запустите b2.exe и дождитесь окончания его работы. b2.exe осуществляет компиляцию исходного кода библиотек и у меня этот процесс занял более получаса. Точнее сказать не могу, так как оставил его работать и лёг спать, утром всё было готово.

2. Настройка CMake

Для подключения библиотеки Boost к вашему проекту добавьте следующие строки в CMakeLists.txt.

set (BOOST_ROOT "C:/boost_1_78_0/") # Путь к библиотеке Boost set (CMAKE_CXX_STANDARD 20) set (Boost_NO_SYSTEM_PATHS ON) set (Boost_USE_MULTITHREADED ON) set (Boost_USE_STATIC_LIBS ON) set (Boost_USE_STATIC_RUNTIME OFF) set (BOOST_ALL_DYN_LINK OFF) # Подключаем необходимые модули. Для примера подключим program_options find_package (Boost REQUIRED COMPONENTS program_options REQUIRED) # Если библиотека найдена, то if (Boost_FOUND) include_directories (SYSTEM $) # подключаем заголовочные файлы add_executable (Boost_test "main.cpp") # Создаем исполняемый файл для нашего проекта target_link_libraries (Boost_test $) # подключаем библиотеку endif ()

Обратите внимание на строку 16 – мы создаем исполняемый файл нашего проекта только в том случае, если библиотека найдена. Это условие не обязательно, но если вы работаете, например, в Visual Studio, то в случае отсутствия библиотеки, студия не будет отображать доступную к запуску цель, но и ошибки при компиляции не выдаст тоже. Использовать ли это условие или нет – выбор за вами.

Boost в действии

Давайте теперь для примера добавим в проект файл main.cpp со следующим кодом, взятым из примера работы с компонентом program_options библиотеки Boost:

#include #include using namespace std; namespace po = boost::program_options; int main(int argc, char* argv[]) < po::options_description desc("Allowed options"); int c; desc.add_options() ("help,h", "produce help message") ("compression,c", po::value()->default_value(3), "set compression level") ; po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc), vm); po::notify(vm); if (vm.count("help")) < cout if (vm.count("compression")) < cout << "Compression level was set to " << vm["compression"].as() else < cout return 0; >

Program_options является обработчиком параметров командной строки и предоставляет удобный интерфейс для работы. В рассмотренном фрагменте создается экземпляр объекта program_options desc и устанавливается заголовок для отображения справки. Справка будет вызываться параметром –help или -h. Далее регистрируются доступные параметры, с указанием через запятую полной и укороченной версии и описания команды. Укороченная версия параметров не является обязательной и может быть опущена. Для параметра compression устанавливается значение по умолчанию = 3. Далее идёт обработка введённых параметров.

П.с. из-за установленного значения по умолчанию код в строке 30 никогда не выполняется.

Скомпилируйте программу и запустите её передавая следующие комбинации:

  1. Boost_test.exe
  2. Boost_test.exe -c 5
  3. Boost_test.exe -h
  4. Boost_test.exe –help

Справка о доступных параметров будет выглядеть так:

Как установить библиотеку boost?

Доброго времени суток. Нужна помощь!
Хочу установить библиотеку boost. Во всех туториалах люди заходят в консольку Visual Studio Command Prompt (2010). Но проблема в том, что я не могу ее найти! Искать в винде пробовал — не нашел.
У меня экспресс-версия! Дело в этом?

Отслеживать
51.4k 87 87 золотых знаков 267 267 серебряных знаков 505 505 бронзовых знаков
задан 19 окт 2014 в 16:17
65 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Библиотека 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 Вам вполне подойдет.

В итоге получается что-то вроде вот такого:

b2 toolset=vc120 variant=debug link=shared threading=multi runtime-link=shared address-model=32 stage 

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

b2 toolset=vc120 variant=release link=static threading=multi runtime-link=shared address-model=32 stage 

Для релиза в x32.

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

Потратив 2 часа на то, чтобы один раз в этом разобраться, Вы никогда не будете зависеть ни от каких сторонних сборок, будете понимать, где у Вас что лежит, кто туда положил и т.п. В общем, это полезно.

ЗЫ: Command Prompt находится в Visual Studio Tools. Или посмотрите в VStudio_PATH\CommonXX\Tools\VsDevCmd.bat

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

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