CMake: Не удалось найти повышение (отсутствует: сериализация)

#c #boost #cmake

Вопрос:

Я проклят готовностью создать приложение для всех ОС.

К сожалению, это включает в себя использование Windows.

 cmake_minimum_required(VERSION 3.17)
project(Odin)

include_directories(Odin/engine)
include_directories(Odin/uci)
include_directories(Odin/util)

# add our cmake modules under cmake/
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

#AddBOOST
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED YES)
set(CMAKE_CXX_EXTENSIONS NO)


find_package(Boost 1.74.0 REQUIRED serialization)

#ENDBOOST

message(STATUS "---------------------")
message(STATUS "Boost_FOUND: ${Boost_FOUND}")
message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
message(STATUS "---------------------")

# Include CPM dependency manager
include(CPM)

# enable testing
enable_testing()

# Pull doctest using CPM
cpmaddpackage("gh:onqtam/doctest#2.4.5")

# add the CMake modules for automatic test discovery so we can use
# doctest_discover_tests() CMake
set(CMAKE_MODULE_PATH "${doctest_SOURCE_DIR}/scripts/cmake"
        ${CMAKE_MODULE_PATH})

add_executable(Odin
        Odin/engine/Odin.cc
        Odin/main.cc
        Odin/engine/Board.cc
        Odin/engine/Figure.cc
        Odin/util/Utility.cc
        Odin/engine/Node.cc
        Odin/engine/Link.cc
        Odin/engine/Odin.h
        Odin/engine/Board.h
        Odin/engine/Figure.h
        Odin/util/Utility.h
        Odin/engine/Node.h
        Odin/engine/Link.h
        )

target_link_libraries(Odin PRIVATE Boost::serialization)

set(CMAKE_CXX_FLAGS_RELEASE "-O3 -march=native")

 

этот cmake не работает в Windows:

Ошибка гласит:

Could NOT find Boost (missing serialization) (found 1.74.0, minimum required is "1.74.0")

Если я загляну в папку, там будет папка сериализации. Я также пробовал разные версии boost и разные IDE (ПРОТИВ 2019 CLION).

Я надеюсь, что кто — нибудь сможет мне помочь.

Комментарии:

1. Вероятно, это скомпилированный файл библиотеки, который он не может найти. Такие инструменты, как Конан , облегчат вам жизнь

2. Хм, я собрал данные в соответствии с инструкциями Boost. Означает ли одна и та же версия в «найдено» и «минимально необходимое», что проблема не в этом?

3. Он нашел заголовки, но не библиотеки, сообщение об ошибке не очень хорошее

4. Ответ заключается в компиляции с использованием статической компоновки -.-