Sphinx + Doxygen + Breathe:我如何获得类似Google的Ceres Solver的文档?

时间:2016-03-20 16:33:42

标签: c++ documentation doxygen python-sphinx

我正在开发一个C ++项目,并且真的爱上了Sphinx文档构建系统。我设法设置Doxygen和Breathe来生成并向Sphinx提供C ++描述。

我无法弄清楚Google的Ceres Solver文档是如何完成的。例如,他们的API reference包含类名后跟大量文本,有时甚至包含前面链接中显示的代码块示例。 有没有办法在源文件中编写Doxygen文档并实现此目的?

另一个例子是this class documentation,它有大约两页的文字。我不知何故怀疑所有这些文本都作为Doxygen评论位于源文件中。我觉得所有额外的文本都写在文档的重组文本源中,而c ++源文件中没有任何内容。但那么使用doxygen和呼吸是什么意思......

或者提出不同的要求,我应该在哪里提供有关代码的高级信息?我的意思是我可以在其来源中记录class1class2,但在某个地方我需要解释它们如何相互作用并一起使用。这就是Ceres Solver的文档在我看来很好的做法。

或者你可以用Sphinx + Doxygen + Breathe管道和开源文档向我指出一个C ++项目。然后我可以亲眼看看如何做这些事情。不幸的是我不知道任何项目。

1 个答案:

答案 0 :(得分:4)

我错过了Ceres Solver的github链接。在那里可以找到文档的来源。我有点失望,因为完整的文档是在重构文本源文件中编写的,而不是在c ++代码中。基本上他们用.. class:: className引用类名,然后为信息性文本,示例代码块等添加ReST markdown。"Modeling Non-linear Least Squares"中给出了一个示例