如何正确使用EXCLUDE_SYMBOLS的语法?

8

我有一个类,如下所示:

class Foo {
public:
  /** blah blah */
  void bar();
}

我想在文档中排除这部分内容,但是EXCLUDE_SYMBOLS没有生效。我尝试过以下方法(逐一尝试):

EXCLUDE_SYMBOLS = Foo::bar
EXCLUDE_SYMBOLS = Foo::*
EXCLUDE_SYMBOLS = Foo
EXCLUDE_SYMBOLS = *

这些方法都没有起作用。我的语法有误吗?还是需要改变其他配置才能生效?

我查看了一些在SO上的问题,但那些答案中使用的语法对我不起作用。


那个语法根据手册看起来没问题。你是在用那段代码进行实际测试,还是只是为了阐述问题?我问这个是因为如果在实际情况中,一行中有多个条目,请注意分隔符(例如逗号)在doxyfile注释和doxyfile语法之间可能不同(例如,FILE_PATTERNS 在描述中显示逗号,但需要使用空格 - _而且不能使用逗号_)。 - Cheeseminer
好的观点,我之前没有意识到这个问题。我也尝试过单个条目(没有分隔符),但是不起作用。让我再试几个实验。 - Masked Man
好的,我用完全相同的代码和配置进行了另一个实验,但对我来说仍然无法正常工作。 - Masked Man
我现在没有任何想法 :-( 你使用的Doxygen版本是什么?如果不是最新版本,更新会有任何区别吗?(好吧,这很不可能)。 - Cheeseminer
我遇到了完全相同的问题,@MaskedMan。你最终解决了吗? - Fabio A.
显示剩余2条评论
1个回答

1
这个排除表达式在我的情况下与 Doxygen 1.8.14 配合得很好:
EXCLUDE_SYMBOLS = "TestTemplate< T, std::string >" "TestNS::*" "TestClass*"

在EXCLUDE_SYMBOLS中指定了确切的符号名称或'*'模式。确切的符号名称可以从doxygen XML输出中检索(尝试在Doxyfile中启用它)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接