Doxygen无法处理main.cpp文件。

6
我刚开始使用Doxygen,成功地对类和结构体进行了文档化,并生成了完美的HTML文件。然而,我遇到了一个问题,就是它无法解析我的main.cpp文件。所有的类和结构体都有自己的.h和.cpp文件,这些文件都能够被处理。但是,由于main.cpp是程序的开始和结束处,因此它没有.h文件,我甚至不知道应该在.h文件中放什么内容。我正在Windows上使用Doxywizard。
编辑:
我将以下代码放入main中,它生成了一个主页:
/**
@mainpage

This is a test application.

@author Alex
@date 10/21/2010
@version 1.0
*/

但是,在函数原型的下方,我有这个代码,它没有被解析:

/**
@brief Error handler for the PDF writer.

It does nothing. It just has to exist.
*/
void error_handler (HPDF_STATUS   error_no,
                    HPDF_STATUS   detail_no,
                    void         *user_data)
{
}

主函数需要文档吗?通常情况下,它只是设置一些东西,可能调用解析命令行参数的函数,然后调用一些函数。 - user395760
可能与您在Doxygen配置文件中的掩码有关。您能否发布“INPUT”和“FILE_PATTERNS”配置值的内容? - ladenedge
INPUTFILE PATTERNS都为空。基本上我安装了程序,找到了我的项目,然后按下了“运行”按钮。我想主函数不需要注释,但是同一文件中使用的其他函数需要被注释。 - Alex
3个回答

7
我把这个放在main.cpp的顶部,它就起作用了。真是奇怪。
/**
@file main.cpp
*/

先生,您刚刚帮我省了几个小时的搜索时间。非常感谢。您有任何想法为什么它需要一个 @file 命令吗? - SolarBear
你不需要 "main.cpp"。只有 @file 就足够了。你需要它是因为在那个文件中没有任何类或结构被记录下来。 - Étienne

2
如果INPUTFILE_PATTERNS为空,则应在当前目录中搜索*.cpp文件(以及许多其他模式)。 (来自doxygen手册。)
由于您的输入为空,如果您没有得到main.cpp的文档,我预计有两种情况:
1. main.cpp不在当前目录中。 要排除这种可能性,请确保您从与配置文件和main.cpp相同的目录中运行doxygen。 2. 您的main.cpp文档存在语法错误。 这些往往难以发现,因为doxygen遇到错误时通常不会中止 - 而是继续跳到下一个标签处。 如果是这个问题,请逐行检查doxygen生成文档时的输出。
如果这些想法都不能解决您的问题,我们可能需要更多信息。 ls -R输出,doxygen运行的输出等。 祝好运!

main.cpp在Doxygen正在查找的文件夹中,并且输出中没有显示任何错误,只有其他类的警告,但仍然正确处理。我在上面的问题中添加了一些更多的信息。 - Alex

1

我对此进行了一些研究...来自doxygen手册

重要提示:全局函数、变量、typedef和枚举的文档仅在它们所在的文件有文档时才会包含在输出中。

就是这样!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接