sphinx + breathe + doxygen: .. doxygendefine:: 仅适用于头文件
sphinx + breathe + doxygen: .. doxygendefine:: only works for header files
我有一个 C 项目,我正在使用 sphinx + breathe + doxygen 进行记录。
我想记录一个定义使用
.. doxygendefine:: MY_DEFINE
只要在 .h 文件中定义 MY_DEFINE 就可以正常工作。当它移动到 .c 文件时,sphinx 告诉我
doxygendefine: Cannot find define “MY_DEFINE” in doxygen xml output for project ...
查看由 doxygen 生成的 XML 文件,发现定义的文档在 XML 中。然后我尝试使用
.. doxygenfile:: file.c
生成文件的完整文档。在此文档输出中,存在定义 MY_DEFINE。
我不认为问题出在我的 doxygen 设置上。是吗?
是否存在导致此行为的呼吸配置?
我该如何解决这个问题?这让我发疯,从源文件中记录东西是行不通的。
顺便说一句:记录函数也只有在头文件中定义时才有效。 C 文件中的静态函数也未找到(尽管存在于 doxygen 的 XML 输出中)
我再次阅读文档并意识到,breathe 不会搜索“实现”文件。
此行为由
控制
breathe_implementation_filename_extensions = ['.c', '.cc', '.cpp']
配置变量。如果我从该列表中排除 C 文件,则会找到定义。但是,如果您的文档中同时包含头文件和包含原型和实现的 C 文件,那么呼吸会不愉快。
我想呼吸+斯芬克斯组合对我来说没什么用,我会暂时坚持使用doxygen。
我有一个 C 项目,我正在使用 sphinx + breathe + doxygen 进行记录。
我想记录一个定义使用
.. doxygendefine:: MY_DEFINE
只要在 .h 文件中定义 MY_DEFINE 就可以正常工作。当它移动到 .c 文件时,sphinx 告诉我
doxygendefine: Cannot find define “MY_DEFINE” in doxygen xml output for project ...
查看由 doxygen 生成的 XML 文件,发现定义的文档在 XML 中。然后我尝试使用
.. doxygenfile:: file.c
生成文件的完整文档。在此文档输出中,存在定义 MY_DEFINE。
我不认为问题出在我的 doxygen 设置上。是吗?
是否存在导致此行为的呼吸配置?
我该如何解决这个问题?这让我发疯,从源文件中记录东西是行不通的。
顺便说一句:记录函数也只有在头文件中定义时才有效。 C 文件中的静态函数也未找到(尽管存在于 doxygen 的 XML 输出中)
我再次阅读文档并意识到,breathe 不会搜索“实现”文件。
此行为由
控制breathe_implementation_filename_extensions = ['.c', '.cc', '.cpp']
配置变量。如果我从该列表中排除 C 文件,则会找到定义。但是,如果您的文档中同时包含头文件和包含原型和实现的 C 文件,那么呼吸会不愉快。
我想呼吸+斯芬克斯组合对我来说没什么用,我会暂时坚持使用doxygen。