2013-05-09 91 views
0

我正在記錄我的代碼,無法讓doxygen在嵌套命名空間中拾取 函數。 谷歌搜索周圍我沒有看到任何人面臨這個問題,抱歉,如果重複。doxygen沒有在嵌套命名空間中列出函數

namespace n1 { 
/*! @addtogroup n1 
*@{ 
    */ 

/** 
    * n2 is... 
    */ 
namespace n2 { 

    /** 
    * n3 is... 
    */ 
    namespace n3 { 

     /** 
     * function does... 
     */ 
     static inline 
     int 
     find() { } 
    } 
} 
/*@}*/ 
} 

在所得的文件(HTML)我看到的所有命名空間(n1n2n3),但沒有看到任何功能(例如find())。與n3命名空間對應的頁面不包含任何內容。

我也試過EXTRACT_ALL構建標誌,似乎沒有幫助。

p/s/doxygen是使用Doxygen GUI爲OS-X生成的。

+0

根據Doxyfile和手冊:如果EXTRACT_ALL標記設置爲YES,則doxygen將假定 文檔中的所有實體都被記錄,即使沒有可用的文檔。 私有類成員和靜態文件成員將被隱藏,除非 EXTRACT_PRIVATE和EXTRACT_STATIC標記被設置爲YES – albert 2013-05-09 17:44:32

+0

@albert,正如您在上面的示例中看到的那樣,它們不是私有的。不知道爲什麼它不記錄那些 – Denis 2013-05-14 08:53:56

+0

我剛剛在這裏複製了手冊的一部分,也許EXTRACT_PRIVATE和EXTRACT_STATIC之間的單詞「和」在這裏有點混淆,這個詞可能會更好。 – albert 2013-05-15 16:37:29

回答

2

您需要在Doxyfile中設置EXTRACT_STATIC = YES。

上EXTRACT_ALL狀態的評論,「私有類成員和靜態文件的成員將會被隱藏,除非EXTRACT_PRIVATE和EXTRACT_STATIC代碼設置爲YES」

我和你的榜樣測試,並設定EXTRACT_STATIC = YES和查找功能在結果文檔中可見。

+0

非常感謝!完美的作品! – Denis 2013-05-15 07:44:31