Graphviz + Doxygen生成UML类图

Eri*_*ric 44 uml doxygen graphviz

我想使用Graphviz + Doxygen来生成基于C++代码的类图.这已经成功,因为Doxygen带有本地DOT支持; 但有可能,生成类似UML的输出与相应的访问修饰符(公共,私有等),类方法的返回和参数类型,类似于下图?

我知道线程如何使用doxygen从C++源代码创建UML类图,但它并没有回答这个问题.

在此输入图像描述

dox*_*gen 57

创建以下源文件example.cpp:

class Animal
{
  public:
    void die();
    string name;
    int age;
};

class Dog : public Animal
{
  public:
    void bark();
};

class Cat : public Animal
{
  public:
    void meow();
};
Run Code Online (Sandbox Code Playgroud)

运行doxygen -g并更改生成的以下选项Doxyfile:

EXTRACT_ALL            = YES
HAVE_DOT               = YES
UML_LOOK               = YES
Run Code Online (Sandbox Code Playgroud)

运行doxygen并查看Animal类的输出,它应该与上面的图片类似,尽管doxygen不会显示方法和字段的返回类型.

  • 有没有办法显示返回类型? (3认同)

Ani*_*Ani 18

我现在成功解决了类似的问题.

以下是步骤(假设您使用的是Doxygen-Doxywizard的GUI版本)

  1. 单击"专家"按钮

  2. 转到Dot选项卡并选择DOT_PATH.浏览已安装程序的文件夹.例如,"C:/ Program Files(x86)/Graphviz2.32/bin"

有关更多详细信息,请参阅以下链接 http://www.cypax.net/tutorials/doxygen/index?language=en#doxycomment

希望它有所帮助,Anit