Я знаю, что есть версия ASIO, которая не включена в пространство имен Boost, но даже тогда ASIO зависит от Boost, но мне интересно, есть ли способ заставить ASIO работать без зависимостей от Boost (потому что я не могу включить Boost в проект по слишком многим причинам).
Есть ли способ заставить Asio работать без Boost?
Ответы (4)
Нет, я так не думаю. ASIO использует Boost столько, сколько я о нем слышал. Я думаю, что они очень взаимосвязаны. Но вас может заинтересовать инструмент bcp, который позволяет вам извлечь минимальное подмножество повышения, необходимое для библиотек, которые вы хотите использовать.
NO_LIBS
для исключения библиотек, отличных от заголовков. Я использую asio только для заголовков с повышением только для заголовков. На что жаловаться? Ничего лишнего для компиляции.
- person unixman83; 22.04.2012
Также есть небуст-версия Asio:
Asio поставляется в двух вариантах: (не Boost) Asio и Boost.Asio.
Видеть:
boost::bind()
кажется почти невозможным!
- person unixman83; 22.04.2012
«Не-boost asio» имеет свои собственные биты потока вместо использования boost.thread, но для него по-прежнему требуются boost.date_time, boost.array, boost.utility, boost.bind, boost.shared_ptr...
Не существует версии Asio, которая может работать без каких-либо зависимостей от Boost.
Последние версии ASIO могут работать без Boost в автономном режиме. Этот режим, вероятно, был включен поддержкой библиотеки C++11, потому что теперь он может использовать стандартные потоки, фьючерсы и т. д. вместо их реализации Boost. Вы можете просто включить ASIO, как показано ниже, и наслаждаться:
#define ASIO_STANDALONE
#include <asio.hpp>