Получение clang-tidy для исправления файлов заголовков

Я в процессе перемещения проекта, который в настоящее время компилируется с gcc для clang, и имейте кучу предупреждений, которые gcc не генерировал (-Winconsistent-missing-override). clang-tidy произведения для исправления этих ошибок в *.cpp файлы, однако он не касается hpp файлы, потому что команда компиляции не была найдена в базе данных (как и следовало ожидать).

я использую ninja построить проект и ninja -t compdb cc cxx > .build/compile_commands.json для создания базы данных. Я пробовал бежать:

clang-tidy-3.6 -p .build/      
      $(find src/ -name *.cpp) 
      $(find src/ -name *.hpp) 
      --checks=misc-use-override --fix

в исправить ошибку. Он отказывается касаться заголовочных файлов, жалуясь:

Skipping .../src/header/file.hpp. Compile command not found.

1 ответов


я получил его работу, указав . Интересно, что исправления были применены несколько раз, вызывая такой вывод:

void f() override override override override override;

Я работал вокруг этого путем запуска clang-tidy для каждого исходного файла отдельно. Также обратите внимание на <build-path> указан с -p должен также содержать .clang-format конфигурация для стиля, который будет применяться.

это моя текущая итерация команды:

find src/ -name '*.cpp' -exec \
     clang-tidy-3.6 -p . --header-filter=src/ {}
               --checks=misc-use-override --fix