我需要为我的C ++项目生成文档(也许不久之后还会为其他项目生成文档)。到目前为止,我已经研究了doxygen,尽管它似乎很流行,但我还是遇到了一些问题(有关细节,我将不再赘述;有些已经解决)。由于我并不特别喜欢它-尽管它很受欢迎-我想考虑一些替代方法。

现在,在7年前,StackOverflow上有一个确切的问题是:

用于C ++的Doxygen替代品

,但答案现在已经过时,所以我在这里和现在都在问同样的问题。

要求:


Libre
Gratis
多平台,至少支持Linux和Windows
灵活到与doxygen或更高的水平类似。
主动维护
非-可忽略的用户群


评论

如果您“在这里不详细介绍”,那么将很难为您提供帮助

@Mawg:主要是这个,但是我想那对您没有多大帮助。

但这解决了。那么,为什么不使用DoxyGen呢?只是好奇

@Mawg:它的行为方式使我预感,我可能想要别的东西。另外,除了听说过的以外,为什么还要使用氧气?这不是我对它有积极的经验。

当他说他想要替代品时告诉他使用doxygen的所有无用评论是什么? +1可以再发表一次无用的评论。感谢您提出问题,wtf是否删除了另一个问题

#1 楼

我个人强烈建议您看一下为Python文档编写的Sphinx-Doc,但它也适用于其他系统。
可以从多种编程语言生成,例如具有C ++域的C ++

可以与包括make,Jenkins等的构建系统集成。

解决您的问题:


Libre完全开源

免费提供是

多平台,至少支持Linux和Windows是基于Python的,因此可以在任何地方运行多平台安装说明

具有与doxygen或更高水平相似的灵活性是个人而言,我发现它更灵活,因为它允许自动生成和预先编写的混合使用ReStructuredText文档。

积极维护是当时版本1.5.3的撰写于一个月前于2017-02-26发布

不可忽视的用户群是-阅读Docs支持从此处开始并在此处提供了许多示例

请注意,要从C / C ++源代码自动生成美观的文档,您可以将Sphinx与doxyGen结合在一起用于文档生成,以将信息提取到XML并充当之间的桥梁他们。

评论


Sphinx不支持C或C ++自动生成的文档。也就是说,您需要在与代码并行的ReST文件中维护整个API和文档。错别字,不同步等大风险。

–甜蜜地
17年12月13日在6:50

@detly添加了有关呼吸扩展的信息,该信息允许通过代码中的doxygen自动生成。

–史蒂夫·巴恩斯(Steve Barnes)
17年12月13日在10:20

谢谢,我在其他地方看到过呼吸,但误解了它在这里扮演的角色。经过更多研究之后,似乎还有一些针对Sphinx的基于LLVM Clang的autogen插件正在开发中,但最终可能也会填补这一空白。

–甜蜜地
17年12月13日在21:47

#2 楼

(我已经从现在已删除的StackOverflow问题页面中获取了几个答案:)
Doc ++
您可以尝试DOC ++,但它可能更难看。
cldoc
有一个开放的窗口。 doxygen的替代源叫做cldoc。
它可以处理C和C ++,并且基于clang。它声称提供的最有趣的功能:

使用clang来稳健地解析最复杂的C ++项目,而无需用户付出额外的努力。
使用markdown进行文档格式化。
使用一种简单的格式来记录您的代码。
支持在文档中进行交叉引用。
生成单个基于JavaScript的Web应用程序以呈现文档。
使用预生成的快速客户端搜索功能搜索索引。

NaturalDocs
NaturalDocs有其缺点,但输出效果不错,标记也毫不费力。
NetBeans
如果您有兴趣跟踪大型项目,那么我建议使用NetBeans的c ++版本,该版本可以动态生成漂亮的调用图(查找“显示调用图”功能)。