我有一个包含一个结构,一些全局常量和主要功能的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;
}
这是因为你记录一个全局对象,Doxygen的,默认情况下,不会记录。 从doxygen的手册 (重点煤矿):
为了证明一个C ++类的成员,还必须记录类本身。 这同样适用于命名空间。 为了证明一个全局C函数,类型定义,枚举或预处理定义必须先记录包含它的文件 (通常这将是一个头文件,因为文件包含了导出到其它源文件的信息)。
让我们再说一遍,因为它常常被忽略: 记录全局对象(函数,类型定义,枚举,宏等),您必须文件,其中定义它们的文件。 换句话说,必须至少是一个
/*! \file */
或
/** @file */
行此文件。
因此,尝试将上述两行到你的main.cpp文件之一。
确保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;
}
对于我来说,我必须确保我有这一套:
SHOW_FILES = YES
您的所有全球功能将出现在文件选项卡每个文件的内部。 此外,它帮助,如果你有你的代码顶部定义@file或\文件。
从“在其他地方文件”中的在线手册部分: http://www.doxygen.nl/manual/docblocks.html#specialblock
“Doxygen的允许你把你的文档块几乎任何地方( 例外是函数体内或一个普通的C风格注释块内)。”
这使得因为如何函数工作(其执行)的细节问题通常不希望有的感觉。 我相信的doxygen的目的是帮助文档,很容易搜索到允许编码器找到那里的东西,并期待他们做了什么(什么参数传递给它,它返回什么,等),学习如何使用它们,但不知道如何它的实际执行。 这就要求在实际看功能源(这也可以在doxygen的生成的文件)。 另外,如果你会发现,所有的例子(我认为)在头文件中,缺少这使我相信,文档供的头文件执行任何文件显示,但该工具使您能够灵活放置在源的文件。
这是我的看法呢。 任何人有不同的想法?