【问题标题】:Doxygen won't process main.cppDoxygen 不会处理 main.cpp
【发布时间】:2011-04-28 18:42:06
【问题描述】:

所以我是使用 Doxygen 的新手,我能够让它顺利工作。我能够记录我的类和结构,它完美地生成了 HTML 文件。我遇到的问题是它不会解析我的 main.cpp 文件。所有的类和结构都有自己的 .h 和 .cpp 文件,它们处理得很好。如何让 Doxygen 制作 main.cpp 的文档?它没有 .h 文件,因为这是程序开始和结束的地方。我什至不知道在 main 的 .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)
{
}

【问题讨论】:

  • main 还需要文档吗?通常,它只是设置一些东西,也许调用解析命令行参数的函数,然后调用一些函数。
  • 这可能与您在 Doxygen 配置文件中的掩码有关。您可以发布您的 INPUTFILE_PATTERNS 配置值的内容吗?
  • INPUTFILE PATTERNS 都是空的。基本上我安装了程序,找到了我的项目,然后按下“运行”。我想main不需要注释,但是在同一个文件中还有其他功能需要使用并需要注释。

标签: doxygen mainclass doxywizard


【解决方案1】:

我把它放在 main.cpp 的顶部并且它起作用了。去图吧。

/**
@file main.cpp
*/

【讨论】:

  • 您,先生,为我节省了几个小时的搜索时间。谢谢一堆。你知道为什么它需要一个@file 命令吗?
  • 你不需要“main.cpp”。 @file 就足够了。您需要它,因为该文件中没有记录任何类或结构。
【解决方案2】:

如果INPUTFILE_PATTERNS 为空,它应该在当前目录中搜索*.cpp 文件(和许多其他模式)。 (来自doxygen manual。)

由于您的文件是空的,如果您没有获得 main.cpp 文档,我预计会发生以下两种情况之一:

  1. main.cpp 不在当前目录中。要排除这种情况,请确保您在与 配置文件和 main.cpp 相同的目录中运行 doxygen。
  2. 您的 main.cpp 文档中存在语法错误。这些可能很难发现,因为 doxygen 通常不会在遇到错误时中止 - 相反它只是向前跳过。如果这是问题所在,请在逐行生成文档时梳理 doxygen 的输出。

如果这些想法都不能解决您的问题,我们可能需要更多信息。 ls -R 的输出,doxygen 运行的输出等。祝你好运!

【讨论】:

  • main.cpp 位于 Doxygen 正在查看的文件夹中,并且在输出中没有显示任何错误,只是来自其他仍在正确处理的类的警告。我在上面的问题中添加了更多信息。
【解决方案3】:

我对此做了一些研究......来自doxygen manual

重要提示: 全局函数、变量、typedef、 并且枚举只会包含在 如果它们所在的文件是,则输出 也记录在案。

你去!

【讨论】:

    猜你喜欢
    • 2012-08-15
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2018-06-18
    • 1970-01-01
    • 2012-03-21
    • 2023-03-10
    相关资源
    最近更新 更多