Как заставить c ++ 17 работать с boost/algorithm/string.hpp
и clang?
Эта программа test.cc
:
#include <boost/algorithm/string.hpp>
#include <iostream>
int main() {
std::cout << "hello" << std::endl;
}
при компиляции с clang++ -std=c++17 test.cc
выдает эту ошибку:
В файле, включенном из test.cc:1: В файле, включенном в /usr/local/include/boost/algorithm/string.hpp:23: В файле, включенном в / usr / local /include / boost / алгоритма / string / split.hpp: 16: во включенном файле из /usr/local/include/boost/algorithm/string/iter_find.hpp:27: во включенном файле из / usr / local / include / boost /алгоритм / строка / find_iterator.hpp: 24: в файле, включенном в /usr/local/include/boost/algorithm/string/detail/find_iterator.hpp:18: в файле, включенном в / usr / local / include / boost / function.hpp: 30: в файл включен из /usr/local/include/boost/function/detail/prologue.hpp:17: в файл включен из /usr/local/include/boost/function/function_base.hpp:21: в файлвключено в /usr/local/include/boost/type_index.hpp:29: в файл включено из /usr/local/include/boost/type_index/stl_type_index.hpp:43: в файл включеноот /usr/local/include/boost/container_hash/hash.hpp:110: / Library / Developer / CommandLineTools / USR / включать / C ++ / v1 / опционально: 184: 1: ошибка: неизвестное имя типа '' _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
и т. Д.
Я работаю на Mac с последней clang++
из xcode-select --install
и последней версией буста от homebrew.
Моя буст-версия1.67 и clang++
версия:
Apple LLVM версия 9.1.0 (clang-902.0.39.2)
Если я изменю на -std=c++14
, или еслиЯ вынимаю algorithm/string.hpp
и вставляю что-то еще, например boost/lambda/lambda.hpp
все в порядке.c++1z
выдает ту же ошибку.