LLVM на MacOs — имя неизвестного типа ‘template’ в стандартном файле iosfwd

Я установил LLVM на MacOS 10.13, используя homebrew:

brew install --with-toolchain llvm

Затем я экспортировал необходимые переменные, основанные на это руководство.

export PATH="/usr/local/opt/llvm/bin:$PATH"export CC=/usr/local/opt/llvm/bin/clang
export CXX=/usr/local/opt/llvm/bin/clang++
export LLVM_OPTIONS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib "\
"-I/usr/local/opt/llvm/include -I/usr/local/opt/llvm/include/c++/v1/"

Когда работает Clang-Tidy:

clang-tidy myheaderlib.h -- $LLVM_OPTIONS

Я получаю ошибки, все они связаны со стандартными файлами:

/usr/local/opt/llvm/include/c++/v1/iosfwd:96:1: error: unknown type name '_LIBCPP_BEGIN_NAMESPACE_STD'
/usr/local/opt/llvm/include/c++/v1/iosfwd:100:1: error: unknown type name 'template'
...

В чем может быть причина?

2

Решение

Как я обнаружил, проблема заключалась в том, что clang-tidy по умолчанию обрабатывает .h файлы как заголовки C. Переименование его в myheaderlib.hpp исправил проблему. Я все еще хотел бы услышать, как правильно настроить clang-tidy, чтобы язык мог быть указан независимо от расширения файла.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector