2012-02-28 220 views

回答

50

創建下面的源文件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(); 
}; 

運行doxygen -g和改變產生Doxyfile以下選項:

EXTRACT_ALL   = YES 
HAVE_DOT    = YES 
UML_LOOK    = YES 

運行doxygen,並期待在輸出動物類,它應該是類似的一個bove圖片,儘管doxygen不會顯示方法和字段的返回類型。

+3

有沒有辦法顯示返回類型? – Derek 2014-01-27 18:01:33

+1

您是否找到顯示返回類型的方法@Derek? – UndeadDragon 2015-06-10 09:33:36

+0

請參閱https://stackoverflow.com/questions/4755913/how-to-use-doxygen-to-create-uml-class-diagrams-from-c-source/38322858#38322858以獲取更完整的答案 – 2017-08-09 12:36:26

1

實現您的結果的一個可能的解決方案是使用plantuml,但它需要更多的文檔工作。

+2

這似乎是如果您不想從真實代碼生成通用圖表,而是在生成手工繪製圖表的文檔中使用額外的「圖表代碼」,則可以選擇正確的工具。這正是我所期待的。 – Knitschi 2016-03-09 06:45:57

16

我有類似的問題,現在它成功地解決了。

以下是(假設你正在使用的Doxygen-Doxywizard的GUI版本)

  1. 點擊專家按鈕

  2. 轉到點選項卡,選擇DOT_PATH的步驟。 瀏覽已安裝程序的文件夾。 例如, 「C:/ Program Files文件(x86)的/Graphviz2.32/bin」

有關詳細信息,請參考以下鏈接 http://www.cypax.net/tutorials/doxygen/index?language=en#doxycomment

希望它能幫助, ANIT

+0

鏈接已損壞 – portforwardpodcast 2017-03-05 03:15:50

5

嘗試Doxygraph

Doxygraph是一個工具集合,用於從項目源代碼中自動生成逆向工程UML類圖,並將它們呈現爲交互式Web應用程序。

它依靠Doxygen來解析你的源代碼,併爲它收集的信息創建一箇中間的XML表示,因此它支持Doxygen支持的所有相同的編程語言:C,C++,C#,Objective C,Java,Python, PHP,Tcl,D,IDL,VHDL和Fortran。

您需要從克隆的項目中讀取自述文件。