如何解决为什么 clang-tidy 扫描其他头文件?
我在头文件 header.h 上运行 clang-tidy。然而,作为一些警告输出,它正在输出系统标题:
.../include/c++/8/bits/std_abs.h:46:8: error: expected identifier or '(' [clang-diagnostic-error]
extern "C++"
../include/c++/8/cctype:62:1: error: unknown type name 'namespace' [clang-diagnostic-error]
namespace std
../include/c++/8/cctype:62:14: error: expected ';' after top level declarator [clang-diagnostic-error]
namespace std
..
etc
问题:除了我正在扫描的源文件之外,我不想看到针对源文件或头文件的警告。
我已尝试使用 --header-filter
在此处 (What is the correct way of providing header-filter for clang-tidy in Cmake?) 实施修复,但没有奏效。我在正则表达式中添加了我正在扫描的头文件的路径,但我仍然看到系统头警告。
解决方法
要使 clang-tidy
工作,您的代码需要由 clang
后端编译以生成 AST。显然情况并非如此,因为 clang-diagnostic-error
基本上是一个编译错误。
问题是您包含了无法由 clang 编译的头文件,无法将其过滤掉。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。