Clang-Tidy llvm-header-guard目录配置

use*_*460 8 c++ include-guards llvm clang llvm-clang

使用clang-tidy运行静态分析时,是否可以删除建议的llvm-header-guard字符串上的建议的计算机特定路径?

例如,文件(cls / math / matrix.hpp)的建议头保护为:_USERS_NAME_DESKTOP_PROJECT_SRC_CLS_MATH_MATRIX_HPP

但为避免使其特定于我的计算机,它应该仅为:_PROJECT_SRC_CLS_MATH_MATRIX_HPP

有没有一种方法可以配置clang-tidy,从而建议从/ project /目录而不是/ users /目录开始的头文件保护?

我正在使用从cmake运行的clang 5.0.0。

dro*_*lla 6

我也遇到这个问题很多年了,最后终于解决了,至少对于公共包含而言:clang-tidy 假设标头位于名为 的目录中include

因此,如果您的标头是这样的/home/me/myproject/include/myproject/header.h,那么它将正常工作并推荐MYPROJECT_HEADER_H. 如果它找不到一个include目录作为根目录,那么它会回退到绝对路径。

因此,库的解决方案是使用该结构(无论如何,这可能是一个好主意)。不过,我仍然不确定项目源代码中的标头。

  • 是的我同意。这个测试几乎非常有用,但实际上并没有多大用处。 (3认同)