我对doxygen中的页面和组有疑问。我有一个项目,我用@defgroup和@ingroup cmds对类进行分组。到目前为止,这个工作正常。
现在我想通过降价页面向项目添加特殊文档。这些页面应出现在专用模块(组)中。我尝试使用@page和@subpage cmds创建页面。这样可以正常工作,但页面显示在菜单中。
所以我尝试用@ingroup将它们添加到组中。但是,正如我猜测的那样,这并不奏效。是否可以将页面添加到模块(组)?
结果应如下所示:
Project
|-- Modules
| |-- "Module1"
| | |-- documentation page1 (from *.md file)
| | |-- class documentation
| |-- "Module2"
| | |-- documentation page2
| | |-- class documentation
我希望你能帮助我!
答案 0 :(得分:4)
在描述的情况下,我们为组提供了两种类型的文档:
我们需要为这个goups创建树结构。
例如,我们创建了两个组:
主要应用程序组源代码(对于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
@{
@}
mainpage.md中的 @subpage
标记用于隐藏从树到一个根项(Pages)的所有页面。
@defgroup
标记为markdown文档创建新组。
@copydoc
标记从库页面到库组的内容。
在屏幕截图中,您可以看到结果结构:
请注意,在这种情况下, Module Grou p名称和 Page 名称可能会有所不同。您还可以使用@copydoc
标记将MarkDown文件中的内容粘贴到源代码文档中。
答案 1 :(得分:0)
我使用@ {和@}命令完成它,它的工作原理如下 -
/**
* @defgroup module_name Sample Module
* @{
* @page page_name [Optional Page Heading]
* here will be the texts for the page ...
* @}
*/
如果你已经在某些地方定义了模块,可能需要使用@addtogroup而不是@defgroup。
希望这有帮助。