Недефиниран символ boost::system:detail::system_category_instance

Изградих boost със стандарт c++17 с clang на macOS Mojave, когато компилирах моята програма за игрална площадка, която използва beast и asio, получавам следната грешка:
< a href="https://i.stack.imgur.com/3yjqU.png" rel="nofollow noreferrer">въведете описание на изображението тук

Това е моят make файл:

cmake_minimum_required (VERSION 3.13.1)
project (Playground)

set(Boost_USE_STATIC_LIBS ON)
set(Boost_USER_MULITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(BOOST_ROOT "/usr/local/boost-1.68.0")
set(Boost_INLCUDE_DIR "/usr/local/boost-1.68.0/include")
set(Boost_LIBRARY_DIR_RELEASE "/usr/local/boost-1.68.0/lib")

find_package(Boost 1.68.0 REQUIRED COMPONENTS system filesystem)

set(SOURCES
    src/main.cpp
    src/http_client/http_client.hpp
    src/http_client/http_client.cpp)

if(Boost_FOUND)
    include_directories("/usr/local/boost-1.68.0/include")
    add_executable (Playground ${SOURCES})
    set_property(TARGET Playground PROPERTY CXX_STANDARD 17)
    target_include_directories(Playground PRIVATE ${BOOST_INCLUDE_DIRS})
    target_link_libraries(Playground ${BOOST_FILESYSTEM_LIBRARIES}
                                     ${BOOST_SYSTEM_LIBRARIES})
endif()

Компилирах boost със стъпки, описани в този урок: Компилиране Увеличете с Clang.

Clang версия:
Apple LLVM версия 10.0.0.0 (clang-1000.11.45.5)
Цел: x86_64-apple-darwin18.2.0

Има ли нещо друго, което трябва да взема предвид? Прочетох много публикации и т.н., където се предлага компилиране на boost в същия c++ стандарт, който трябва да се използва в самия проект.

РЕДАКТИРАНЕ:
Подсказката на Matthieu Brucher с имената на променливите (Boost_ срещу BOOST_) свърши работа. Сега работи.


person Fabian    schedule 11.12.2018    source източник
comment
comment
Особено последният отговор: нямате инсталирана/изградена правилната архитектура за усилване, само 32 бита, когато имате нужда и от 64 бита.   -  person Matthieu Brucher    schedule 11.12.2018
comment
Също така истинското име на променливата е Boost_SYSTEM_LIBRARY не BOOST_SYSTEM_LIBRARIES   -  person Matthieu Brucher    schedule 11.12.2018


Отговори (1)


Подсказката на @Matthieu Brucher с имената на променливите (Boost_ срещу BOOST_) свърши работа:

target_link_libraries(Playground ${Boost_FILESYSTEM_LIBRARY}
                                  ${Boost_SYSTEM_LIBRARY})
person Fabian    schedule 11.12.2018