@Artuiu

Как подключить boost в проект CMake Project в Visual Studio 2022?

Я использую этот код ниже:
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(BOOST_ROOT "C:\\boost_1_81_0")
find_package(Boost 1.81.0 COMPONENTS system thread date_time chrono asio)

if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS}) 
    add_executable(Protei "Protei.cpp" "Protei.h") 
    target_link_libraries(Protei ${Boost_LIBRARIES})
endif()


Но когда я пытаюсь подключить через #include , то ничего не получается, путь я указал правильный, проверял много раз. Помогите пожалуйста
  • Вопрос задан
  • 342 просмотра
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C++
то ничего не получается

Это не описание проблемы. Пожалуйста, приведите в вопросе вывод отработавшей команды find_package для начала.
Это во-первых. Во-вторых - у вас буст скорее всего не ищется как надо, но вы на это "забиваете", засунув всю логику в if (Boost_FOUND) - ну т.е. если буст НЕ найден, то ничего не делать. Даже add_executable не будет выполнен. Я понимаю что вы где-то взяли какой-то пример, но надо думать и самому, точнее сначала разбираться, а потом уже будет над чем подумать.

И да, использование include_directories и target_link_libraries в режиме передачи lib-файлов - это допотопный подход. ЕМНИП, Find-модуль для Буста создаёт вполне себе человеческие imported-таргеты, советую использовать их.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы