使用 doxygen 转储核心 (xml + friend class)

Core dumped with doxygen (xml + friend class)

在 Manjaro(基于 Arch)上使用 doxygen 1.8.13,如果 friend class 存在,我在生成 XML 时遇到 segmentation fault (core dumped) 错误。

MWE:

ex.hpp

namespace growth
{
    class ManagerInterface
    {};

    class ParallelismManager : public ManagerInterface
    {};

    class RNGManager : public ManagerInterface
    {
        friend class ParallelismManager; //! friend
    };
}

Doxyfile

DOXYFILE_ENCODING = UTF-8
PROJECT_NAME      = MWE
INPUT             = .
INPUT_ENCODING    = UTF-8
FILE_PATTERNS     = *.hpp
GENERATE_XML      = YES

转动 GENERATE_XML = NO 或评论 friend class ParallelismManager; 抑制分段错误。

但是,我正在使用 breathe 将文档包含到带有 sphinx 的 python 前端的文档中,这就是为什么我需要 xml...任何想法如何解决?

好的,正如@albert 和@Marc Alff 所提到的(感谢大家),这确实是 doxygen 1.8.13 特有的 bug。 我发布的 MWE 适用于其他版本(至少 1.8.11+)和最新的 git version (>= 0f02761).

因此,对于可能遇到相同问题的任何人,只需升级您的 doxygen 安装(如果您不想手动编译,则降级到 1.8.14 结束)。