Неопределенное повышение символов :: system: detail :: system_category_instance - PullRequest
0 голосов
/ 11 декабря 2018

При сборке моей игровой программы, использующей beast и asio , я получаю повышение с использованием стандарта c ++ 17 и clang на macOS Mojave. Я получаю следующую ошибку:
enter image description here

Это мой 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 с шагами, описанными в этом руководстве: Компиляция Boost с помощью Clang .

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

Есть ли что-нибудь ещеЯ должен принять во внимание?Я читал много постов и т. Д., Где предлагается скомпилировать boost в том же стандарте c ++, который должен использоваться в самом проекте.

EDIT:
подсказка Матье Брухера с именами переменных (Boost_ vs. BOOST_) сделали свое дело.Сейчас работает.

1 Ответ

0 голосов
/ 12 декабря 2018

@ Намек Матье Брухера с именами переменных (Boost_ vs. BOOST_) добился цели:

target_link_libraries(Playground ${Boost_FILESYSTEM_LIBRARY}
                                  ${Boost_SYSTEM_LIBRARY})
...