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。
我也遇到这个问题很多年了,最后终于解决了,至少对于公共包含而言:clang-tidy 假设标头位于名为 的目录中include。
因此,如果您的标头是这样的/home/me/myproject/include/myproject/header.h,那么它将正常工作并推荐MYPROJECT_HEADER_H. 如果它找不到一个include目录作为根目录,那么它会回退到绝对路径。
因此,库的解决方案是使用该结构(无论如何,这可能是一个好主意)。不过,我仍然不确定项目源代码中的标头。