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

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

Библиотека Boost предоставляет расширенные инструменты для C++-разработки, включая умные указатели, алгоритмы, контейнеры и асинхронные механизмы. Для полноценной работы в Visual Studio 2019 потребуется вручную установить и собрать исходные файлы Boost, так как стандартный установщик Visual Studio не включает эту библиотеку.

Перед началом необходимо загрузить архив с исходным кодом Boost с официального сайта boost.org. Рекомендуется использовать версию, совместимую с C++17 или C++20, в зависимости от проекта. После распаковки архива следует запустить командный файл bootstrap.bat из корневой папки Boost – он создаст утилиту b2.exe, необходимую для сборки.

Для сборки компонентов библиотеки выполните команду b2 toolset=msvc-14.2 —build-type=complete —address-model=64 stage. Ключ toolset=msvc-14.2 указывает на компилятор Visual Studio 2019, а —address-model=64 гарантирует сборку под 64-битную архитектуру. По завершении в каталоге stage\lib появятся скомпилированные .lib-файлы.

В Visual Studio 2019 необходимо прописать пути к Boost в настройках проекта: в C/C++ → Общие → Доп. каталоги включаемых файлов укажите путь к папке boost, а в Компоновщик → Общие → Доп. каталоги библиотек – путь к папке stage\lib. Для подключения конкретных модулей используйте #include и #pragma comment(lib, «…») или настройте зависимости через свойства проекта.

Некоторые модули Boost требуют включения макросов, например BOOST_ALL_NO_LIB для отключения автоматического связывания. Также рекомендуется указать BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE, чтобы избежать предупреждений о несовместимости версий.

Скачивание исходников Boost с официального сайта

Для получения актуальной версии библиотеки Boost перейдите на официальный сайт проекта: https://www.boost.org/users/download/.

Рекомендуется загружать архив в формате ZIP, так как он поддерживается встроенными средствами Windows и не требует установки сторонних архиваторов.

  • Нажмите на ссылку «Source code (ZIP)» под последней стабильной версией Boost. Например: boost_1_84_0.zip.
  • Сохраните архив в каталог, путь к которому не содержит пробелов и кириллических символов, например: C:\Libraries\Boost.
  • После завершения загрузки разархивируйте архив в ту же папку. В итоге должен появиться каталог вида C:\Libraries\Boost\boost_1_84_0.

Проверьте, что структура каталогов корректна: внутри директории boost_1_84_0 должны находиться папки boost, libs, tools и другие, а также файл bootstrap.bat.

Скачивайте только с официального сайта, чтобы исключить риск получения модифицированных или устаревших файлов.

Выбор нужных библиотек при сборке Boost

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

Для Visual Studio 2019 часто востребованы следующие библиотеки:

boost_filesystem – используется для работы с файловой системой, включая навигацию по директориям, копирование и удаление файлов. Требует boost_system.

boost_thread – обеспечивает многопоточность, включая потоки, мьютексы, условные переменные. Для Windows необходима также библиотека boost_chrono в качестве зависимости.

boost_regex – если проект использует регулярные выражения. Включает собственный парсер и требует компиляции.

boost_date_time – для работы с датой и временем, особенно если не используется std::chrono.

boost_serialization – для сериализации объектов, включая поддержку XML и бинарных форматов. Может потребовать дополнительных модулей в зависимости от структуры объекта.

Для сборки только нужных модулей используйте ключ —with- в командной строке b2, например:

b2 --with-system --with-filesystem --with-thread

Это ускоряет сборку, уменьшает размер итоговой библиотеки и упрощает интеграцию с проектом. Не указывайте —with-all, если точно не требуется полный комплект.

Установка и настройка инструмента bootstrap.bat

Установка и настройка инструмента bootstrap.bat

Файл bootstrap.bat используется для генерации утилиты b2.exe, необходимой для сборки компонентов Boost. Выполнение этого скрипта – обязательный шаг перед сборкой библиотеки.

  • Откройте командную строку от имени администратора. Это особенно важно, если Visual Studio установлена в директорию, требующую прав доступа.
  • Перейдите в каталог Boost, где находится файл bootstrap.bat. Пример команды:

    cd C:\boost_1_84_0
  • Выполните скрипт:

    bootstrap.bat

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

  • bootstrap.bat vc142 – для Visual Studio 2019

После успешного выполнения появится файл b2.exe в текущем каталоге. Убедитесь в его наличии, так как он требуется для следующего этапа – компиляции модулей Boost.

Если в процессе выполнения возникли ошибки, проверьте следующее:

  1. Переменная среды PATH должна содержать путь к vcvars64.bat или vcvars32.bat (обычно в подкаталоге VC\Auxiliary\Build).
  2. Запуск должен происходить из разработческой командной строки Visual Studio (Developer Command Prompt).
  3. Каталог Boost не должен содержать пробелов в пути (например, C:\boost_1_84_0, а не C:\Program Files\boost_1_84_0).

Повторная инициализация скрипта не требуется, если b2.exe уже создан и не требуется смена компилятора.

Сборка Boost с помощью b2.exe для MSVC 14.2

Сборка Boost с помощью b2.exe для MSVC 14.2

Перед началом сборки необходимо установить соответствующую версию Microsoft Visual Studio 2019, поддерживающую компилятор MSVC 14.2 (v142). Убедитесь, что компоненты «Desktop development with C++» и «MSVC v142 — VS 2019 C++ x64/x86 build tools» добавлены через Visual Studio Installer.

Скачайте исходники Boost с официального сайта (https://www.boost.org/users/download/) и распакуйте архив, например, в каталог C:\boost_1_83_0.

Откройте командную строку разработчика для x64 (Developer Command Prompt for VS 2019), предварительно убедившись, что она запускается от имени администратора. Перейдите в каталог с исходниками Boost:

cd C:\boost_1_83_0

Инициализируйте сборочную систему командой:

bootstrap.bat

После успешного выполнения появится файл b2.exe. Для сборки библиотек с использованием MSVC 14.2 выполните следующую команду:

b2 toolset=msvc-14.2 address-model=64 link=static runtime-link=static threading=multi --build-type=complete --stagedir=stage\x64_static stage

Опции означают следующее: toolset=msvc-14.2 задаёт компилятор, address-model=64 указывает на сборку под 64-битную платформу, link=static и runtime-link=static – полная статическая линковка, threading=multi – многопоточная поддержка, --build-type=complete – сборка всех конфигураций, --stagedir задаёт каталог для результата.

По завершении сборки все бинарные файлы окажутся в указанной папке stage\x64_static\lib. Для использования Boost в проекте Visual Studio добавьте пути к заголовочным файлам (C:\boost_1_83_0) и библиотекам (C:\boost_1_83_0\stage\x64_static\lib) в настройках проекта (C/C++ → General → Additional Include Directories и Linker → General → Additional Library Directories).

Настройка переменных среды для работы с Boost

Настройка переменных среды для работы с Boost

После сборки Boost необходимо задать переменные среды, чтобы Visual Studio могла корректно находить заголовочные файлы и скомпилированные библиотеки.

1. BOOST_ROOT: укажите путь к корневому каталогу Boost. Пример: C:\Libraries\boost_1_84_0.

2. BOOST_INCLUDEDIR: путь к каталогу с заголовочными файлами. Обычно это %BOOST_ROOT%, если структура Boost не изменялась.

3. BOOST_LIBRARYDIR: путь к каталогу с скомпилированными библиотеками. Например: %BOOST_ROOT%\stage\lib.

Откройте «Переменные среды» через Свойства системы → Дополнительно → Переменные среды. Добавьте указанные переменные в раздел «Системные переменные», если Boost используется глобально, либо в «Переменные пользователя» для локального использования.

После этого перезапустите Visual Studio. Для проверки корректности настройки создайте тестовый проект и подключите любую библиотеку Boost через #include. Убедитесь, что IntelliSense распознаёт пути, а компилятор не выдаёт ошибок линковки.

Подключение Boost к проекту в Visual Studio 2019

После установки Boost необходимо настроить проект для корректного использования библиотек. В Visual Studio 2019 откройте свойства проекта и перейдите в раздел Свойства конфигурации > C/C++ > Общие. В поле Дополнительные каталоги включаемых файлов добавьте путь к папке boost, например: C:\local\boost_1_78_0.

Далее перейдите в раздел Свойства конфигурации > Компоновщик > Общие и в поле Дополнительные каталоги библиотек добавьте путь к папке с собранными библиотеками Boost, обычно C:\local\boost_1_78_0\lib64-msvc-14.2 (путь зависит от версии компилятора и конфигурации).

Для использования динамических библиотек убедитесь, что в разделе Компоновщик > Ввод в поле Дополнительные зависимости добавлены необходимые файлы .lib, например boost_system-vc142-mt-x64-1_78.lib. Имя файла зависит от версии Boost, конфигурации и архитектуры.

При статической сборке добавьте соответствующие define в C/C++ > Препроцессор > Дополнительные определения: BOOST_ALL_NO_LIB для отключения авто-связывания и BOOST_ALL_STATIC_LINK для статической линковки.

Для автоматического распознавания версий и настроек используйте механизм auto-linking, исключая необходимость ручного добавления .lib файлов, если не отключаете его определением BOOST_ALL_NO_LIB.

После настройки путей и зависимостей перезапустите сборку проекта. При возникновении ошибок проверьте соответствие версии Boost, конфигурации (Debug/Release) и архитектуры (x86/x64) проекта и библиотек.

Устранение ошибок компиляции при подключении Boost

Основные ошибки при компиляции с Boost в Visual Studio 2019 возникают из-за неверных путей к заголовочным файлам и библиотекам, несоответствия версий компилятора и неподключённых зависимостей.

1. Проверьте настройки путей: в свойствах проекта в разделе VC++ Directories добавьте путь к каталогу boost_1_xx_x в Include Directories. Аналогично укажите путь к lib в Library Directories.

2. Для статической компоновки определите в препроцессоре макрос BOOST_ALL_NO_LIB, чтобы избежать автоматического поиска библиотек и указывать их вручную. Это полезно при сборке с нестандартными настройками или отдельной компиляцией Boost.

3. Убедитесь, что версия Boost совместима с компилятором Visual Studio 2019. Использование устаревших версий может вызывать ошибки типа «undefined reference» или «LNK2019». Рекомендуется Boost 1.70 и выше.

4. Для библиотек, требующих предварительной сборки (например, Boost.Thread, Boost.Filesystem), выполните сборку с помощью bootstrap.bat и b2.exe, затем укажите сгенерированные файлы *.lib в настройках проекта.

5. Ошибка «cannot open source file» часто связана с неправильным именем папки Boost или её отсутствием в пути. Используйте абсолютные пути или переменные среды, например $(BOOST_ROOT), чтобы исключить ошибку.

6. При использовании C++17 и выше включите в свойствах проекта опцию /std:c++17, так как некоторые модули Boost зависят от современных стандартов языка.

7. Проверьте совпадение архитектуры: библиотеки Boost должны быть собраны для x86 или x64 в зависимости от платформы проекта.

8. В случае конфликтов с MSVC Runtime, добавьте в ссылках к проекту явные зависимости на msvcrt.lib или msvcrtd.lib для отладочной версии.

Соблюдение этих рекомендаций минимизирует типичные ошибки и ускорит интеграцию Boost в проекты Visual Studio 2019.

Проверка работоспособности Boost через тестовый проект

Создайте новый проект C++ в Visual Studio 2019 с типом «Консольное приложение». В настройках проекта в разделе «Свойства» добавьте пути к заголовочным файлам Boost в «Дополнительные каталоги включаемых файлов» (обычно это папка boost_1_xx_0). В разделе «Дополнительные каталоги библиотек» укажите путь к папке с собранными бинарными файлами Boost, если используете компоненты, требующие линковки.

В качестве теста подключите заголовок boost/version.hpp и выведите значение макроса BOOST_LIB_VERSION. Пример кода:

#include <iostream>
#include <boost/version.hpp>

int main() {
std::cout << "Boost version: " << BOOST_LIB_VERSION << std::endl;
return 0;
}

Скомпилируйте проект. Если компиляция и запуск прошли без ошибок, и в консоли отображается версия Boost, значит подключение прошло успешно. Для проверки функционала с библиотеками, требующими линковки (например, Boost.Regex или Boost.Filesystem), добавьте соответствующие .lib файлы в «Дополнительные зависимости» в настройках линковщика и выполните тесты с их использованием.

При возникновении ошибок убедитесь, что архитектура (x86/x64) проекта совпадает с архитектурой собранных библиотек Boost. Проверьте, что используемые версии компилятора и Boost совместимы, а переменные окружения корректно настроены для поиска библиотек.

Вопрос-ответ:

Как добавить Boost C в проект Visual Studio 2019?

Для подключения библиотеки Boost C необходимо сначала скачать и распаковать Boost с официального сайта. Затем в Visual Studio 2019 открыть свойства проекта, перейти в раздел «VC++ Directories» и добавить путь к папке include Boost в «Include Directories». После этого в «Library Directories» нужно указать путь к папке с скомпилированными библиотеками Boost. На последнем этапе добавить нужные файлы библиотек в «Linker -> Input».

Какие версии Boost совместимы с Visual Studio 2019?

Visual Studio 2019 поддерживает большинство актуальных версий Boost, начиная с версии 1.65 и выше. Однако рекомендуется использовать версии Boost не старше 1.70, так как более старые могут иметь проблемы с современными стандартами C++ и поддержкой компилятора MSVC в VS2019.

Как правильно скомпилировать Boost для Visual Studio 2019?

Сначала нужно запустить консоль разработчика для Visual Studio 2019, чтобы настроить среду. Затем перейти в папку Boost и выполнить команду bootstrap.bat для подготовки. После этого запускается b2.exe с параметрами для вашей конфигурации, например: b2 toolset=msvc-14.2 address-model=64 variant=release link=static threading=multi. Это сгенерирует необходимые библиотечные файлы для дальнейшего использования.

Почему Visual Studio не видит Boost после установки?

Чаще всего проблема связана с неправильным указанием путей в настройках проекта. Проверьте, чтобы пути к папкам include и lib Boost были прописаны в свойствах проекта. Кроме того, убедитесь, что выбран правильный вариант компиляции (Debug или Release) и соответствующие библиотеки для этой конфигурации добавлены в линковщик.

Можно ли использовать Boost без сборки для Visual Studio 2019?

Некоторые части Boost, например, заголовочные файлы (header-only), не требуют компиляции и могут использоваться сразу после добавления пути к include. Однако для модулей, связанных с бинарными файлами (например, Boost.Thread, Boost.Regex), нужна предварительная сборка библиотек. Если вы используете только header-only модули, сборка не нужна.

Ссылка на основную публикацию