Doxygen不列出嵌套的命名空间

Mr.*_*Boy 6 c++ doxygen

我已经将我们的c ++类注释更新为doxygen格式,它们看起来不错......但命名空间列表/选项卡根本没用.我们有一个父命名空间如john再分的命名空间为每个库或功能区域如john::graphics,john::sound等的Doxygen只列出一个单一命名空间:john.我是否必须简单地更改一些设置,或者是否必须记录我的命名空间以供doxygen选择它们?

Nic*_*las 6

通常,您必须记录Doxygen的任何内容,以确定它是否重要.包含的命名空间.但你不必特别好地记录它们; 只是简单地记下它们的用途就足以让Doxygen记录它们.

  • @John:正如我所说,这就是Doxygen的工作方式:它会跳过任何未记录的内容,以及未记录的内容所包含的任何内容.例如,如果您具有全局函数,除非记录定义它们的文件,否则它将不会看到它们,或者除非它们是模块的一部分. (2认同)

pug*_*fan 5

如果设置EXTRACT_ALL Build标志(请参阅http://www.stack.nl/~dimitri/doxygen/config.html#cfg_extract_all),这将从嵌套的命名空间信息中提取信息,而无需专门记录它们.


Car*_*arl 5

我有一个类似的问题,Doxygen没有看到命名空间是嵌套的。我通过指定范围来修复它:

之前:

/**
* @namespace outer
* @brief the outer namespace
*/
namespace outer
{
  /**
  * @namespace inner
  * @brief the inner namespace
  */
  namespace inner
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

后:

/**
* @namespace outer
* @brief the outer namespace
*/
namespace outer
{
  /**
  * @namespace outer::inner
  * @brief the inner namespace
  */
  namespace inner
  {
  }
}
Run Code Online (Sandbox Code Playgroud)