Как получить доступ к Beast на Boost 1.66 и 1.67 из CMake

Я пытаюсь сделать проект CMake с Beast, и он правильно установлен из источника в /usr/local/include/boost, но я не могу заставить CMake найти его. Я думал, что это могло быть 3.10.2так я устал 3.11.4 а также 3.12.0-rc1, но ни один не работал. Кто-нибудь знает что делать?

Среда: Windows CLion 2018.1.5 с Ubuntu 18.04LTS на WSL.

При попытке запустить CMake я получаю следующую ошибку:

CMake Warning at /home/aidan/Apps/cmake-3.11.4-Linux-x86_64/share/cmake-3.11/Modules/FindBoost.cmake:1723 (message):
  No header defined for beast; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:15 (find_package)


CMake Error at /home/aidan/Apps/cmake-3.11.4-Linux-x86_64/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.67.0

  Boost include path: /usr/local/include

  Could not find the following Boost libraries:

          boost_beast

  Some (but not all) of the required Boost libraries were found.  You may
  need to install these additional Boost libraries.  Alternatively, set
  BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
  to the location of Boost.
Call Stack (most recent call first):
  CMakeLists.txt:15 (find_package)

1 ответ

Решение

Boost beast библиотека только для заголовков Только библиотеки заголовков не должны ссылаться на find_package(Boost COMPONENTS ...) вызов. Так удали beast от find_package(Boost COMPONENTS ... REQUIRED) вызов.

Чтобы узнать, является ли библиотека Boost только заголовком или нет, просмотрите следующую страницу Boost.

Другие вопросы по тегам