Я изучаю Boost и хочу создать HTTP-сервер, используя Beast и Asio, но я не хочу перетаскивать всю библиотеку Boost в свой проект.
Что я сделал на данный момент: добавил Boost.Beast и Boost.Asio в качестве подмодулей из репозиториев GitHub, включил их в свой проект и определил BOOST_ASIO_STANDALONE.
Конечно, он не собирается и отсутствует много файлов.
Итак, мой вопрос: можно ли это сделать? какие части повышения должны быть включены, чтобы это работало?





У Зверя нет автономного режима: нужен буст. Как и в случае с любой библиотекой повышения, вы можете попытаться удалить подмножество с помощью инструмента BCP.
Однако в зависимости от задачи вы в конечном итоге столкнетесь с множеством зависимостей. Единственным положительным моментом здесь является то, что Beast работает только с заголовками, поэтому любая экономия фактически уменьшает размер зависимости.
Я бы предположил, что BCP редко того стоит, за исключением очень изолированных случаев. Скажем, если вы хотите иметь просто boost::container::flat_map или просто boost::core::string_view.
Как вы выяснили, вам почти наверняка понадобится много других запчастей. Клонируйте все это и посмотрите, что произойдет. Интересно узнать, есть ли у кого-нибудь лучшее предложение.