Понимание BOOST_ASIO_SEPARATE_COMPILATION в boost.asioC++

Программы на C++. Форум разработчиков
Anonymous
Понимание BOOST_ASIO_SEPARATE_COMPILATION в boost.asio

Сообщение Anonymous »

Я пытаюсь понять, когда применять определение BOOST_ASIO_SEPARATE_COMPILATION при сборке boost.asio. В связанной документации указано

По умолчанию Boost.Asio представляет собой библиотеку только для заголовков. Однако некоторые разработчики могут предпочесть собрать Boost.Asio с использованием отдельно скомпилированного исходного кода.

Я не уверен, что подразумевается под «отдельно скомпилированный исходный код здесь". Будет ли это соответствовать отдельно скомпилированной статической библиотеке, общей библиотеке или, возможно, статической/разделяемой библиотеке, предоставляемой извне?
В качестве примера возьмем мой код:
Я создаю несколько разных статических библиотек в одном проекте (файлы *.a), каждая из которых включает в себя различные заголовки boost.asio. Затем все они связаны с исполняемым файлом в моем корневом файле CMakeLists.txt

Код: Выделить всё

# initial cmake setup ... then:
add_executable(app main.cpp)

target_link_libraries(app PRIVATE my_lib_using_boost_1 my_lib_using_boost_2)
Нужно ли в этом случае добавлять BOOST_ASIO_SEPARATE_COMPILATION типа:

Код: Выделить всё

add_compile_definition(BOOST_ASIO_SEPARATE_COMPILATION)
или это обязательно, когда boost.asio поставляется в отдельном внешнем архиве, таком как boost.a, который я не компилировал сам?
п>

Подробнее здесь: https://stackoverflow.com/questions/785 ... ompilation

Вернуться в «C++»