Перейти к содержимому

Как установить 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.Test для C++ в Visual Studio

В Visual Studio 2017 и более поздних версиях адаптер теста Boost.Test интегрирован в среду IDE Visual Studio. Это компонент рабочей нагрузки Разработка классических приложений на C++.

Test Adapter for Boost.Test

Если у вас не установлена рабочая нагрузка Разработка классических приложений на C++, откройте Установщик Visual Studio. Выберите рабочую нагрузку Разработка классических приложений на C++, а затем нажмите кнопку Изменить.

Установка Boost

Для Boost.Test требуется Boost. Если у вас не установлен Boost, рекомендуем воспользоваться диспетчером пакетов Vcpkg.

  1. Следуйте инструкциям в статье vcpkg: диспетчер пакетов C++ для Windows, чтобы установить диспетчер vcpkg (если у вас его еще нет).
  2. Установка динамической или статической библиотеки Boost.Test:
    • Запустите vcpkg install boost-test , чтобы установить динамическую библиотеку Boost.Test. -ИЛИ-
    • Запустите vcpkg install boost-test:x86-windows-static , чтобы установить статическую библиотеку Boost.Test.
  3. Выполните vcpkg integrate install , чтобы настроить в Visual Studio библиотеку и пути включения для заголовков и двоичных файлов Boost.

Вы можете выбрать способ настройки тестов в своем решении в Visual Studio: вы можете включить тестовый код в тестируемый проект или создать отдельный тестовый проект для проведения тестов. Оба варианта имеют свои преимущества и недостатки.

Добавление тестов в проект

В Visual Studio 2017 версии 15.6 и более поздних можно добавить шаблон элемента для тестов в проект. Тесты и код находятся в одном проекте. Для создания тестовой сборки потребуется создать отдельную конфигурацию сборки. И вам нужно будет следить за тем, чтобы в сборках отладки и выпуска тестов не было.

В Visual Studio 2017 версии 15.5 для Boost.Test нет предварительно настроенного тестового проекта или шаблонов элементов. Используйте инструкции для создания и настройки отдельного тестового проекта.

Создание элемента Boost.Test

Boost.Test Item Template

  1. Чтобы создать CPP-файл для тестов, щелкните правой кнопкой мыши узел проекта в обозревателе решений и выберите пункт Добавить>Новый элемент.
  2. В диалоговом окне Добавление нового элемента последовательно разверните узлы Установлено>Visual C++>Тест. Выберите Boost.Test и затем Добавить, чтобы добавить Test.cpp в проект.

Новый файл Test.cpp содержит пример метода теста. В этот файл можно включить собственные файлы заголовков и записать тесты для приложения.

Этот тестовый файл также использует макросы для определения новой подпрограммы main для конфигураций тестов. Если выполнить сборку проекта сейчас, выводится ошибка LNK2005, например «_main уже определен в main.obj».

Создание и изменение конфигураций сборки

  1. Чтобы создать конфигурацию теста, в строке меню выберите Сборка>Диспетчер конфигураций. В диалоговом окне Диспетчер конфигураций выберите в раскрывающемся списке Активная конфигурация решения пункт Создать. В диалоговом окне Создание конфигурации решения введите имя, например «Debug UnitTests». В поле Копировать параметры из выберите Отладка, а затем нажмите кнопку ОК.
  2. Исключите тестовый код из конфигураций отладки и выпуска: в обозревателе решений щелкните правой кнопкой мыши файл Test.cpp и выберите пункт Свойства. В диалоговом окне Страницы свойств откройте раскрывающийся список Конфигурация и выберите Все конфигурации. Выберите Свойства конфигурации>Общие и откройте раскрывающийся список для свойства Исключено из сборки. Выберите Да, а затем нажмите кнопку Применить, чтобы сохранить изменения.
  3. Чтобы включить код теста в конфигурацию «Debug UnitTests», в диалоговом окне Страницы свойств выберите Debug UnitTests в раскрывающемся списке Конфигурация. Выберите Нет в свойстве Исключено из сборки и нажмите кнопку ОК для сохранения изменений.
  4. Исключите основной код из конфигурации «Debug UnitTests». В обозревателе решений щелкните правой кнопкой мыши файл, содержащий функцию main , и выберите пункт Свойства. В диалоговом окне Страницы свойств откройте раскрывающийся список Конфигурация и выберите Debug UnitTests. Выберите Свойства конфигурации>Общие и откройте раскрывающийся список для свойства Исключено из сборки. Выберите Да, а затем нажмите кнопку ОК, чтобы сохранить изменения.
  5. Выберите конфигурацию решения Debug UnitTests, а затем создайте проект, чтобы обозреватель тестов смог обнаружить этот метод.

При условии, что создаваемое имя конфигурации начинается со слова «Debug» или «Release», соответствующие библиотеки Boost.Test подбираются автоматически.

Шаблон элемента использует вариант Boost.Test с одним заголовком, но вы можете изменить путь в #include, чтобы указать автономный вариант библиотеки. Дополнительные сведения см. в разделе Добавление директив include.

Создание отдельного тестового проекта

Во многих случаях для тестов проще использовать отдельный проект. Вам не нужно будет создавать специальную конфигурацию теста для своего проекта. Или исключите тестовые файлы из сборок отладки и выпуска.

Создание отдельного тестового проекта

  1. В обозревателе решений щелкните узел решения правой кнопкой мыши и выберите пункты Добавить>Новый проект.
  2. В диалоговом окне Добавить новый проект выберите C++, Windows и Консоль в раскрывающихся списках фильтров. Выберите шаблон Консольное приложение и нажмите кнопку Далее.
  3. Присвойте проекту имя и нажмите кнопку Создать.
  4. Удалите функцию main из CPP-файла.
  5. Если вы используете версию Boost.Test с одним заголовком или динамическую версию библиотеки, перейдите к разделу Добавление директив #include. Если вы используете статическую версию библиотеки, вам нужно выполнить некоторые дополнительные настройки: a. Чтобы изменить файл проекта, сначала выгрузите его. В обозревателе решений щелкните узел проекта правой кнопкой мыши и выберите пункт Выгрузить проект. Затем щелкните правой кнопкой мыши узел проекта и выберите Изменить .vcxproj. b. Добавьте две строки в группу свойств Глобальные, как показано ниже:
 . x86-windows-static true  

Добавление директив include

Add #include directives

  1. В CPP-файле теста добавьте необходимые директивы #include , чтобы типы и функции программы были доступны коду теста. Если вы используете отдельный тестовый проект, как правило, программа находится в иерархии папок на том же уровне. При вводе #include «../» открывается окно IntelliSense, в котором можно выбрать полный путь к файлу заголовка. Можно использовать автономную библиотеку с:
#include 

Или использовать версию с одним заголовком с:

#include 

Приведенного ниже примера достаточно для обнаружения теста в обозревателе тестов.

#define BOOST_TEST_MODULE MyTest #include //single-header #include "../MyProgram/MyClass.h" // project being tested #include BOOST_AUTO_TEST_CASE(my_boost_test) < std::string expected_value = "Bill"; // assume MyClass is defined in MyClass.h // and get_value() has public accessibility MyClass mc; BOOST_CHECK(expected_value == mc.get_value()); >

Написание и запуск тестов

Все готово к написанию и выполнению тестов Boost. Сведения о макросах тестов см. в документации по библиотеке Boost Test. Сведения об обнаружении, выполнении и группировании тестов с помощью обозревателя тестов см. в статье Выполнение модульных тестов с помощью обозревателя тестов.

Связанный контент

Установка Boost на Windows

Author24 — интернет-сервис помощи студентам

Привет!
Начал учить boost и сразу появилась проблема с установкой.
Что я сделал: в решении файла — я в управлении пакетами NuGet установил Boost ( скачал тот где 1.6м установок ),
подождал пока установится.
После того как установилось, я подключил в инклюде

#include 

( вроде никаких ошибок нет, сам инклюд НЕ был подчеркнутым красной линией )

Я написал такой код:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include #include #include  int main() { boost::asio::io_context io; boost::asio::steady_timer timer = boost::asio::steady_timer(io, boost::asio::chrono::seconds(1)); std::cout  "Start\n"; timer.wait(); io.run(); std::cout  "Stop\n"; system("pause"); return 0; }

Вроде ничего.. но при запуске проекта вылетела ошибка:
[ATTACH]ERROR[/ATTACH]

Подскажите как исправить проблему.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Установка boost
Здарова господа! Вообщем установил boost не знаю какой версии (последней наверно) такой командой.

Boost Установка
ребят помогите установить буст либы в борланд спп 6. даю команду C:\Program.

Компиляция и установка Boost
Помогите установить. Проковырявший 3 часа ничего так и не получилось. Скачал утилиту bjam.exe.

Установка Prebuilt Boost
Подскажите, как правильно устанавить boost для компилирования программ x86 и x64. Т.е. есть.

Заблокирован

> я в управлении пакетами NuGet установил Boost

Берёшь тарбол с boost.org, собираешь и ставишь. Никакой нюгет и прочая хрень никого не интересует.

boost::asio::steady_timer timer = boost::asio::steady_timer(io, boost::asio::chrono::seconds(1));

Два раза указание одного типа, школоскобки, boost::chrono. Что мешает писать нормально?

boost::asio::steady_timer timer{io, std::chrono::seconds{1}};
timer.wait(); io.run();

Тут совсем клиника. Нахрена ты запускаешь run(), если всё равно ждёшь синхронно?

system("pause");

ПТУ. Впрочем, ты совсем гений, поскольку даже заголовки нормально подключить не смог. std::system в cstdlib.

> Вроде ничего.. но при запуске проекта вылетела ошибка:

Выкинь свою студию и запускай руками.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Установка Boost в MVS 2017
Приветствую! Проблема с работой Бустов. Всё, что я делал: 1. Скачал Boost 1.67 . 7z.

Установка boost на Visual Studio C++ 2010 и на CodeBlocks
Доброго времени суток! Можете подсказать или написать инструкцию по "прикручиванию" boost к.

Установка Boost 1.60.0 на Visual Studio 2013 Ultimate
Как правильно установить Boost на VS2013 (ставлю последнюю версию 1.60.0)? Перечитал миллион.

Компиляция boost 1.54 на Windows 8
Добрый день. Встал вопрос по поводу компиляции буст. Через bootstrap.bat ничего не компилится.

bjam не собирает boost 1.38 на windows 7
Хочу полностью собрать boost, но когда скачиваю bjam и потом кладу его в корень boost, то результат.

Установка boost
Добрый день, уважаемые обитатели! Прошу, помогите с установкой boost 1_53_0 на RAD XE2.

Или воспользуйтесь поиском по форуму:

Boost.Asio C++ Tutorial

Тем, кто не знает, что такое Boost.Asio, посвящается. Boost.Asio — это кросс-платформенная библиотека С++ для сетевого и низкоуровневого ввода-вывода программирования, которая предоставляет разработчикам, использующим асинхронную модель, современный подход программирования на С++. В нашем случае это будет С++11.

Версия Boost, которую я использую — Boost Version 1.60.0. Скачать можно тут.

Опираясь на свой опыт, хотелось бы сразу решить вопрос с установкой библиотеки. Я использую MVS 15, следовательно ставить Boost мы будем туда.

Установка библиотеки

  • После скачивания архива с библиотекой, распаковываем его на Локальный диск (лучше) С.
  • Открываем папку boost_1_60_0 и запускаем файл bootstrap.bat
  • После того как bootstrap.bat отработает, в папке появится файл b2.exe
  • Запускаем b2.exe и ждем от 5 минут до 1,5 часа (зависит от «машины»)
  • Когда b2.exe отработает, ваша библиотека будет в собранном состоянии, осталось только её подключить в нашу IDE.
  • Запускаем MVS, в вкладке «Вид» находим Property Manager
  • Двойным кликом открываем страницу свойств папки Debug | Win32 и кликаем на VC++ Directories
  • В колонке Include Directories выбираем изменить, далее нажимаем на «папку со *» New Line и указываем ей путь к папке boost_1_60_0, жмём ОК.
  • Проводим аналогию с некоторыми изменениями для колонки Library Directoties, но для неё указываем путь C:\boost_1_60_0\stage\lib, жмём ОК.
  • Библиотека подключена!

Basic Skills

Первые пять уроков, или как они называются в учебнике Timer, будут вводными в фундаментальные понятия, необходимые для использования инструмента Asio. Перед тем, как погрузиться в сложный мир сетевого программирования, эти Timers (уроки) иллюстрируют базовые навыки, используя простые асинхронные таймеры.

Урок 1. — Использование синхронного таймера. «Timer.1 — Using a timer synchronously«

Этот урок вводит нас в Asio, показывая, как выполняется ожидание по таймеру. Начнём мы с подключения заголовочных файлов. Все Asio классы представлены в виде файлов с расширением Asio.hpp.

#include #include 

Так как в этом примере мы используем таймеры, то мы должны включить соответствующий файл заголовка Boost.Date_Time.

#include 

Все программы, которые используют Asio, должны иметь, по крайней мере, один объект io_service. Этот класс обеспечивает доступ к функциям ввода / вывода. Мы объявляем объект этого типа первым делом в главной функции. Но перед этим я хотел бы немного облегчить написание нашего кода, при помощи пространства имени. После всех подключенных ЗФ, пишем:

using namespace std; using namespace boost::asio; 

Думаю тут особо вопросов не должно возникнуть.

int main() < io_service io; 

Далее мы объявляем объект типа deadline_timer. Основные классы Asio, которые обеспечивают функции ввода/вывода (или как в данном случае функциональность нашего Таймера) всегда берут ссылку на io_service в качестве первого аргумента конструктора. Второй аргумент конструктора установка таймера 5 секунд.

deadline_timer t(io, boost::posix_time::seconds(5)); 

В этом простом примере мы выполняем блокирующие ожидание по таймеру. То есть, вызов deadline_timer :: wait () не вернется, пока таймер не отсчитает 5 секунд после того, как он был создан. Deadline timer, всегда находится в одном из двух состояний: «истек»(expired)или «не истек»(not expired). Если deadline_timer::wait() функция принимает аргумент expired, то функция сразу же вернёт значение.

t.wait(); 

Наконец мы выводим всеми любимый и знакомый «Hello, World!» сообщение, чтобы показать, когда таймер истек «expired».

 cout 

Полный код программы в оригинале:

#include #include #include int main()

Полный код программы в личном варианте:

#include #include #include using namespace std; using namespace boost::asio; int main()

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

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