我如何才能使Doxygen不记录我的包含保护?

ein*_*ica 5 c++ documentation doxygen include-guards

我在C ++项目上使用Doxygen 1.8.13。

通常,我希望Doxygen记录我的宏。但是,我显然不希望它记录我的头文件包括卫兵

#ifndef FOO_H_
#define FOO_H_
... etc ...
#endif // FOO_H
Run Code Online (Sandbox Code Playgroud)

...但是Doxygen默认情况下会为其添加一个文档条目。我知道我可以通过以下方法解决此问题:

///@cond
#ifndef FOO_H_
#define FOO_H_
///@endcond
... etc ...
#endif // FOO_H
Run Code Online (Sandbox Code Playgroud)

但是我不想在每个头文件中添加两条无用的行!有什么我可以做的吗?

doxygen.cfg 内容:

#ifndef FOO_H_
#define FOO_H_
... etc ...
#endif // FOO_H
Run Code Online (Sandbox Code Playgroud)

alb*_*ert 6

从文档中:

EXCLUDE_SYMBOLS EXCLUDE_SYMBOLS标记可用于指定一个或多个应从输出中排除的符号名称(名称空间,类,函数等)。符号名称可以是完全限定的名称,单词,或者如果使用通配符*,则可以是子字符串。示例:ANamespace,AClass,A -Class :: ANamespace,ANamespace :: * Test

因此,在您的情况下,例如在Doxyfile中进行设置:

EXCLUDE_SYMBOLS         = *_H_
EXCLUDE_SYMBOLS        += *_HPP_
Run Code Online (Sandbox Code Playgroud)

要么

EXCLUDE_SYMBOLS         = *_H_ \
                          *_HPP_
Run Code Online (Sandbox Code Playgroud)