我正在将当前使用 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.