doxygen无法正确解析以下代码,因此在生成的文档中不会显示"Module Docstring“:
# -*- coding: utf-8 -*-
"""
Module Docstring
"""如果我删除第一行,它就会被正确解析。但是我需要设置编码,因为我在代码中使用了非ASCII字符。有没有人有同样的问题?我尝试使用doxypy,但也失败了。我还尝试了在配置文件中进行许多不同的更改。
到目前为止,最好的方法是在某种脚本中使用INPUT_FILTER参数来剥离第一行,也许可以使用"tail -n +3“作为过滤器。问题在于,并不是每个文件都需要“编码: utf-8",因此将其放入每个文件中将是一件痛苦的事情。有更好的主意吗?我是不是忽略了什么?
发布于 2013-04-02 00:18:35
您可以指定input encoding配置变量:
http://www.doxygen.nl/manual/config.html#cfg_input_encoding
该变量应设置为http://www.gnu.org/software/libiconv/中指定的UTF-8 (全部大写,需要连字符,不需要空格
希望这能有所帮助。愉快的记录:-)
发布于 2013-04-02 00:46:50
看一下this link,似乎你必须将@package <packagename>放在模块文档字符串中,这样doxygen才能使用它。
在下面的同一页中,您可以看到doxygen实际上更喜欢使用注释而不是docstring,因为docstring中不支持doxygen特殊命令。
编辑:
为了避免混淆coding注释,请将@package注释与doxygen注释放在单独的一行中。
要让doxygen将包放在“合适的位置”,您应该看看grouping,尤其是模块。
https://stackoverflow.com/questions/15747065
复制相似问题