4

我对 doxygen 中的页面和组有疑问。我有一个项目,我用@defgroup 和@ingroup cmds 对类等进行了分组。到目前为止,这工作正常。

现在,我想通过降价页面向项目中添加特殊文档。这些页面应该出现在专用模块(组)中。我尝试使用@page 和@subpage cmds 创建页面。这很好用,但页面在菜单中显得很简单。

所以我尝试使用@ingroup 将它们添加到组中。但这并不像我猜的那样工作。是否可以将页面添加到模块(组)?

结果应如下所示:

Project
|-- Modules
| |-- "Module1"
| | |-- documentation page1 (from *.md file)
| | |-- class documentation
| |-- "Module2"
| | |-- documentation page2
| | |-- class documentation

我希望你能帮帮我!

4

2 回答 2

6

在所描述的情况下,我们有两种类型的组文档:

  1. 来自源文件的文档
  2. 降价文件中的文档

我们需要为这个组创建树结构。

例如,我们创建 2 个组:

  1. 带有源代码文档的主应用程序
  2. 文件library.md中带有文档的

主应用程序组源代码(用于 C++)可能如下所示:

/** @defgroup app Main Application */

/** @addtogroup app
  * @brief Main application description.
  *
  * @{
  */

int main() { return 0; } //do nothing

/** @} */

MarkDown 文件library.md包含简单的文本:

Library File {#library}
============

Library Page Content from library.md.

现在要定义结构,我们创建包含内容的mainpage.md文件:

Pages {#mainpage}
============

Content:

- @subpage library

@defgroup Library
@addtogroup Library
@copydoc library
@{
@}

@subpagemainpage.md 中的标记用于将所有页面从树隐藏到一个根项目(页面)。 @defgroup标记为降价文档创建新组。 @copydoc标签将内容从库页面复制到库组。

在屏幕截图上,您可以看到结果结构:

Doxygen 组和页面

请注意,在这种情况下,模块组名称和页面名称可能不同。您还可以使用@copydoc标记将 MarkDown 文件中的内容粘贴到源代码文档中。

参考: http: //www.doxygen.nl/manual/grouping.html

于 2015-05-10T05:21:04.370 回答
0

我已经使用 @{ 和 @} 命令完成了它,它的工作原理是这样的 -

/**  
 * @defgroup module_name Sample Module   
 * @{   
 *     @page page_name [Optional Page Heading]   
 *     here will be the texts for the page ...    
 * @}   
 */   

如果您已经在某个地方定义了模块,则可能需要使用@addtogroup 而不是@defgroup。

希望这可以帮助。

于 2013-03-05T15:16:22.127 回答