Doxygen的不记录在main.cpp中的主要功能(Doxygen not documenting

2019-06-27 05:00发布

我有一个包含一个结构,一些全局常量和主要功能的main.cpp。

我跑Doxygen的,我在输出的index.html获得的唯一文档是我的结构。

我想Doxygen的记录成index.html文件我的main()也是如此。 我在做什么错误?

    /// Definition of Pi
    const auto Pi = 3.141592653589793238462643383279502884197169399;

    /// \struct myStruc
    /// \brief myStruc description
    ///
    struct myStruc
    {
         /// Comments inside myStruc
    };

    /// \file

    /// \brief  Main function
    /// \param  argc An integer argument count of the command line arguments
    /// \param  argv An argument vector of the command line arguments
    /// \return an integer 0 upon exit success
    int main(int argc, char** argv)
    {
        /// Comments I would like to be documented in as well
        return 0;
    }

Answer 1:

这是因为你记录一个全局对象,Doxygen的,默认情况下,不会记录。 从doxygen的手册 (重点煤矿):

为了证明一个C ++类的成员,还必须记录类本身。 这同样适用于命名空间。 为了证明一个全局C函数,类型定义,枚举或预处理定义必须先记录包含它的文件 (通常这将是一个头文件,因为文件包含了导出到其它源文件的信息)。

让我们再说一遍,因为它常常被忽略: 记录全局对象(函数,类型定义,枚举,宏等),您必须文件,其中定义它们的文件。 换句话说,必须至少是一个

 /*! \file */ 

 /** @file */ 

行此文件。

因此,尝试将上述两行到你的main.cpp文件之一。



Answer 2:

确保HIDE_IN_BODY_DOCS设置为NO并使用这样的:

/// \file

/// \brief  Main function
/// \param  argc An integer argument count of the command line arguments
/// \param  argv An argument vector of the command line arguments
/// \return an integer 0 upon exit success
int main(int argc, char** argv)
{
  /// Comments I would like to be documented in as well
  return 0;
}


Answer 3:

对于我来说,我必须确保我有这一套:

SHOW_FILES = YES

您的所有全球功能将出现在文件选项卡每个文件的内部。 此外,它帮助,如果你有你的代码顶部定义@file或\文件。



Answer 4:

从“在其他地方文件”中的在线手册部分: http://www.doxygen.nl/manual/docblocks.html#specialblock

“Doxygen的允许你把你的文档块几乎任何地方( 例外是函数体内或一个普通的C风格注释块内)。”

这使得因为如何函数工作(其执行)的细节问题通常不希望有的感觉。 我相信的doxygen的目的是帮助文档,很容易搜索到允许编码器找到那里的东西,并期待他们做了什么(什么参数传递给它,它返回什么,等),学习如何使用它们,但不知道如何它的实际执行。 这就要求在实际看功能源(这也可以在doxygen的生成的文件)。 另外,如果你会发现,所有的例子(我认为)在头文件中,缺少这使我相信,文档供的头文件执行任何文件显示,但该工具使您能够灵活放置在源的文件。

这是我的看法呢。 任何人有不同的想法?



文章来源: Doxygen not documenting main function in main.cpp
标签: c++ doxygen main