По умолчанию 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)
Код: Выделить всё
add_compile_definition(BOOST_ASIO_SEPARATE_COMPILATION)
п>
Подробнее здесь: https://stackoverflow.com/questions/785 ... ompilation
Мобильная версия