【问题标题】:Doxygen documents my Objective-C Code as though it is C++Doxygen 记录我的 Objective-C 代码,就好像它是 C++
【发布时间】:2012-01-14 09:26:22
【问题描述】:

我想将 doxygen 设置为记录我的 Objective C 源代码的工具。代码生成工具似乎运行良好,只是它呈现我的 Objective C 方法描述的方式使它们看起来像是用 C++ 编写的。我已经阅读了Doxygen 网站中的所有各种选项,但我找不到强制它呈现更像“Objective-C”的外观的选项组合。

同样,编辑 doxygenLayout.xml 文件似乎对更改不同部分的名称很有用,但我不明白如何使用它来更改方法的表示方式。我在下面提供了一个示例:

注意版本后面有两个括号,类在类名和方法名之间使用两个冒号。有办法改变吗?

【问题讨论】:

  • Doxygen 在您的情况下显然将“版本”错误地解释为 C++ 方法,但它通常会自动检测 obj-C 代码。在带有默认配置文件的 .h 文件中尝试您的示例不会显示此问题,因此如果您设法在一个独立的示例中捕获它,请在 doxygen 的 bugtracker 中提交一个错误并附上示例。
  • 感谢您的回答!从 1.7.5.1 升级到 1.7.6 似乎解决了我的问题。

标签: objective-c doxygen


【解决方案1】:

如果你想强制 doxygen 为 Objective-C 生成文档,你可以在 doxygens 配置文件中使用 EXTENSION_MAPPING。例如,如果你想对 .m 和 .h 文件强制 doxygen 到 Objective-C,添加以下内容:

EXTENSION_MAPPING      = m=Objective-C \
                         h=Objective-C

【讨论】:

    【解决方案2】:

    检查您的Doxyfile 是否有EXTENSION_MAPPING(或尝试从一个干净的Doxyfile 开始)。我在使用默认设置的情况下将 Doxygen 与 ObjC(不完美,但相当不错)结合使用取得了不错的成功。

    您使用的是哪个版本的 Doxygen?我仍在使用 1.6.1,但我预计 1.7 行不会发生巨大变化。

    【讨论】:

    • 我使用的是 1.7.5.1,但只有一个新版本,更改为最新版本解决了我的问题。
    猜你喜欢
    • 2011-04-09
    • 2012-06-05
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 2017-08-14
    • 1970-01-01
    相关资源
    最近更新 更多