lang整齐的标题警卫风格警告

时间:2019-01-08 08:59:51

标签: c++ include clang-tidy

我想在带有CMake的Windows 10上将clang-tidy(LLVM v7.0.0)与 llvm-header-guard 配合使用来跟踪以下头文件

#ifndef _BAR_H_
#define _BAR_H_

namespace FOO {
namespace BAR {
class BarC {
public:
  BarC() = default;
  ~BarC() = default;
  BarC(const BarC &iValue) = delete;
  const BarC &operator=(const BarC &iValue) = delete;
  BarC(BarC &&iValue) = delete;
  BarC &operator=(BarC &&iValue) = delete;
};
} // namespace BAR
} // namespace FOO

#endif // _BAR_H_

其中 ROOT 是C:\ User \ Zlatan \ Project \ Guard,头文件Bar.h位于 ROOT \ Foo \ Bar \ src \ include \ Bar \ Bar.h

不幸的是,这会产生以下警告

  

警告:标题保护不遵循首选样式   [llvm-header-guard]

我读了What is proper LLVM header guard style?,但找不到正确的样式

#ifndef BAR_BAR_H
#ifndef INCLUDE_BAR_BAR_H
#ifndef SRC_INCLUDE_BAR_BAR_H
#ifndef BAR_SRC_INCLUDE_BAR_BAR_H
#ifndef FOO_BAR_SRC_INCLUDE_BAR_BAR_H
#ifndef C_USERS_ZLATAN_PROJECT_GUARD_FOO_BAR_SRC_INCLUDE_BAR_BAR_H

并再次收到所有人

  

警告:标题保护不遵循首选样式   [llvm-header-guard]

用例的正确样式是什么?我是否必须在CMake中进行配置(已经使用CMAKE_EXPORT_COMPILE_COMMANDS = ON)?

更新

运行

  

cd C:/ Users / Zlatan / Project / Guard / build / Release

     

clang-tidy -checks ='llvm-header-guard'-header-filter =。* -p =。 ../../ Foo / Bar / src / Bar.cpp

在cmd中建议

生成以下输出

C:\Users\Zlatan\Project\Guard\build\Release\../../Foo/Bar/src/include/Bar/Bar.h: warning: header guard does not follow preferred style [llvm-header-guard]
#ifndef BAR_BAR_H
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        C:\USERS\ZLATAN\PROJECT\GUARD\BUILD\RELEASE\__\__\FOO\BAR\SRC\INCLUDE\BAR\BAR_H

最好的问候 兹拉坦

0 个答案:

没有答案