1

doxygen 未正确解析以下代码,生成的文档中未显示“模块文档字符串”:

# -*- coding: utf-8 -*-
"""
Module Docstring
"""

如果我删除第一行,它会被正确解析。但是我需要设置编码,因为我在代码中使用了非 ASCII 字符。有没有人有同样的问题?我尝试使用 doxypy,但它也失败了。还尝试了配置文件中的许多不同更改。

到目前为止,最好的方法是将 INPUT_FILTER 参数用于某种去除第一行的脚本,可能使用“tail -n +3”作为过滤器。问题在于并非每个文件都需要“编码:utf-8”,因此将其放在每个文件中都会很痛苦。有更好的想法吗?我忽略了什么吗?

4

2 回答 2

1

您可以指定input encoding配置变量:

http://www.doxygen.nl/manual/config.html#cfg_input_encoding

该变量应设置为UTF-8(全部大写,需要连字符,无空格),如在http://www.gnu.org/software/libiconv/中所指定

希望这可以帮助。快乐的记录:-)

于 2013-04-01T16:18:35.267 回答
0

查看此链接,您似乎必须@package <packagename>为 doxygen 放入模块文档字符串才能对其进行处理。

在同一页面下方,您可以看到 doxygen 实际上更喜欢您使用注释而不是 docstring,因为 doxygen 特殊命令在 docstrings 中不受支持。

编辑:

为了避免混淆 doxygen,请将@package注释放在与注释不同的行上coding

要让 doxygen 将包“放在适当的位置”,您应该查看grouping,尤其是模块。

于 2013-04-01T16:46:49.563 回答