是的,這是可能的。該Doxygen documentation說:
爲了證明全局對象(函數,類型定義,枚舉,宏等), 你必須證明它們所定義的文件。換句話說, 那裏至少必須在該文件中的
/*! \file */
或
/** @file */
線。
您可以使用@defgroup
,@addtogroup
和@ingroup
把相關物品放入同一個模塊,即使它們出現在不同的文件中(詳見文檔here)。下面是對我工作的一個小例子(使用Doxygen的1.6.3):
的Doxyfile:
# Empty file.
Test.h:
/** @file */
/**My Preprocessor Macro.*/
#define TEST_DEFINE(x) (x*x)
/**
* @defgroup TEST_GROUP Test Group
*
* @{
*/
/** Test AAA documentation. */
#define TEST_AAA (1)
/** Test BBB documentation. */
#define TEST_BBB (2)
/** Test CCC documentation. */
#define TEST_CCC (3)
/** @} */
foo.h中:
/** @file */
/**
* @addtogroup TEST_GROUP
*
* @{
*/
/** @brief My Class. */
class Foo {
public:
void method();
};
/** @} */
Bar.h:
/** @file */
/**
* @ingroup TEST_GROUP
* My Function.
*/
void Bar();
在這種情況下,TEST_DEFINE
文檔出現在測試。h。在HTML輸出文件選項卡下項和TEST_AAA
等定義在下的模塊測試集團出現帶班Foo
和功能Bar
選項卡在一起。
有一點需要注意的是,如果你把文件名之後@file
命令,e.g:
/** @file Test.h */
那麼這必須在文件的實際名稱相匹配。如果沒有,則不會生成文件中項目的文檔。
如果您不想添加@file
命令,另一種解決方案是在Doxyfile中設置EXTRACT_ALL = YES
。
我希望這有助於!
這是否意味着無法將它們放入組/模塊中?多數民衆贊成我真的想要做的,以便他們與他們相關的功能/類/等(其中也傳播了幾個文件)。 – 2010-03-01 15:53:07
嗨火Lancer,我已經添加了一些關於分組到我的答案的細節 – ChrisN 2010-03-01 17:23:34
好的,我得到它在一個addtogroup或defgroup塊中工作。 ingroup似乎在某處放棄了定義(defgroup與組主文檔在一個.cpp文件中,除了頭文件中定義的內容以外,其他所有內容都已放入組中)......我猜測這肯定是某種錯誤在Doxygens部分? – 2010-03-02 07:49:40