你應該把所有必要的文件放在外部文件中。我不知道如何做到這一點,但我試圖建立一個像你一樣的最小環境,它運作良好。只是爲了記錄的東西,我抓起Doxygen的網站示例代碼:
test1.h:
#define MAX(a,b) (((a)>(b))?(a):(b))
typedef unsigned int UINT32;
int errno;
int open(const char *,int);
int close(int);
size_t write(int,const char *, size_t);
int read(int,char *,size_t);
並且寫了完全無用test2.h(只是有兩個不同的文件......) :
void itdoesnothing();
這裏是很好的部分。我做了一個外部頭只是爲了記錄上面,把它稱爲test_doc.h(再次,只是用在Doxygen的網站爲例):
/*! \addtogroup everything The main group
This group contains everything.
@{
*/
/*! \file test.h
\brief A Documented file.
Details.
*/
/*! \def MAX(a,b)
\brief A macro that returns the maximum of \a a and \a b.
Details.
*/
/*! \var typedef unsigned int UINT32
\brief A type definition for a .
Details.
*/
/*! \addtogroup err Error handling
Error handling related stuff
@{
*/
/*! \var int errno
\brief Contains the last error code.
\warning Not thread safe!
*/
/*! @} */
/*! \addtogroup fdrelated File description related
File descriptor related stuff.
@{
*/
/*! \fn int open(const char *pathname,int flags)
\brief Opens a file descriptor.
\param pathname The name of the descriptor.
\param flags Opening flags.
*/
/*! \fn int close(int fd)
\brief Closes the file descriptor \a fd.
\param fd The descriptor to close.
*/
這成功地證明這兩個文件的Doxygen。這樣,您就可以組文件,命名空間等也按照手冊中的規定:
一組的成員可以是文件,命名空間,類,函數,變量,枚舉類型定義,並界定,而且其他組。
因此,請嘗試閱讀http://www.doxygen.nl/grouping.html,看看我上面提到的事情有什麼可能做。祝你好運!
非常感謝您的回答。我會盡快嘗試,如果有效,請接受您的答案。 – bramp 2010-05-26 19:07:40
謝謝,這對我來說很好! – bramp 2010-06-11 14:30:45
你是說你必須明確地添加每個類/函數/等到一個組?現有的代碼庫聽起來很可怕......還是有捷徑?就像告訴它所有文件(或理想的目錄)在同一個組中一樣? – 2010-06-17 13:36:02