2016-08-01 77 views
1

如果我在標題中聲明一個類,Doxygen條目生成。如果我定義該類,仍然在標題中,則會生成一個條目。然而,只有模板類似乎產生適當的文件(包括簡介)我是否使用@briefQT autobrief@class/@struct/等,///任何變體,/**/\**!等,但沒有找到任何東西,做了一個差異。我也嘗試添加一些我認爲不相關的標籤,如@file;然後我打開了EXTRACT_ALL,嘗試了OPTIMIZE_OUTPUT_FOR_C等。C++ Doxygen - 爲什麼只有模板類生成文檔?

模板參數本身不需要以任何方式用於生成文檔。事實上,模板結構只需要聲明一個條目及其簡要描述,與非模板版本不同。

我錯過了什麼?我是Doxygen的新手,並不確定哪些細節相關。

... 
BRIEF_MEMBER_DESC  = YES 
REPEAT_BRIEF   = YES 
ABBREVIATE_BRIEF  = 
ALWAYS_DETAILED_SEC = NO 
INLINE_INHERITED_MEMB = NO 
FULL_PATH_NAMES  = YES 
STRIP_FROM_PATH  = 
STRIP_FROM_INC_PATH = 
SHORT_NAMES   = NO 
JAVADOC_AUTOBRIEF  = NO 
QT_AUTOBRIEF   = YES 
MULTILINE_CPP_IS_BRIEF = NO 
INHERIT_DOCS   = YES 
SEPARATE_MEMBER_PAGES = NO 
TAB_SIZE    = 4 
ALIASES    = 
TCL_SUBST    = 
OPTIMIZE_OUTPUT_FOR_C = 
OPTIMIZE_OUTPUT_JAVA = NO 
OPTIMIZE_FOR_FORTRAN = NO 
OPTIMIZE_OUTPUT_VHDL = NO 
EXTENSION_MAPPING  = 
MARKDOWN_SUPPORT  = YES 
AUTOLINK_SUPPORT  = YES 
BUILTIN_STL_SUPPORT = YES 
CPP_CLI_SUPPORT  = NO 
SIP_SUPPORT   = NO 
IDL_PROPERTY_SUPPORT = YES 
DISTRIBUTE_GROUP_DOC = NO 
SUBGROUPING   = YES 
INLINE_GROUPED_CLASSES = NO 
INLINE_SIMPLE_STRUCTS = NO 
TYPEDEF_HIDES_STRUCT = NO 
LOOKUP_CACHE_SIZE  = 0 
EXTRACT_ALL   = YES 
EXTRACT_PRIVATE  = YES 
EXTRACT_PACKAGE  = YES 
EXTRACT_STATIC   = NO 
EXTRACT_LOCAL_CLASSES = YES 
EXTRACT_LOCAL_METHODS = NO 
EXTRACT_ANON_NSPACES = NO 
HIDE_UNDOC_MEMBERS  = NO 
HIDE_UNDOC_CLASSES  = NO 
HIDE_FRIEND_COMPOUNDS = NO 
HIDE_IN_BODY_DOCS  = NO 
INTERNAL_DOCS   = NO 
CASE_SENSE_NAMES  = YES 
HIDE_SCOPE_NAMES  = NO 
SHOW_INCLUDE_FILES  = YES 
SHOW_GROUPED_MEMB_INC = NO 
FORCE_LOCAL_INCLUDES = NO 
INLINE_INFO   = YES 
SORT_MEMBER_DOCS  = YES 
SORT_BRIEF_DOCS  = NO 
SORT_MEMBERS_CTORS_1ST = NO 
SORT_GROUP_NAMES  = NO 
SORT_BY_SCOPE_NAME  = NO 
STRICT_PROTO_MATCHING = NO 
GENERATE_TODOLIST  = YES 
GENERATE_TESTLIST  = YES 
GENERATE_BUGLIST  = YES 
GENERATE_DEPRECATEDLIST= YES 
ENABLED_SECTIONS  = 
MAX_INITIALIZER_LINES = 30 
SHOW_USED_FILES  = YES 
SHOW_FILES    = YES 
SHOW_NAMESPACES  = YES 
FILE_VERSION_FILTER = 
LAYOUT_FILE   = 
CITE_BIB_FILES   = 
QUIET     = NO 
WARNINGS    = YES 
WARN_IF_UNDOCUMENTED = YES 
WARN_IF_DOC_ERROR  = YES 
WARN_NO_PARAMDOC  = NO 
WARN_FORMAT   = "$file:$line: $text" 
WARN_LOGFILE   = 
INPUT     = ../include ../README.md 
INPUT_ENCODING   = UTF-8 
FILE_PATTERNS   = 
RECURSIVE    = YES 
EXCLUDE    = ../include/util/ 
EXCLUDE_SYMLINKS  = NO 
EXCLUDE_PATTERNS  = 
EXCLUDE_SYMBOLS  = 
EXAMPLE_PATH   = 
EXAMPLE_PATTERNS  = 
EXAMPLE_RECURSIVE  = NO 
IMAGE_PATH    = 
INPUT_FILTER   = 
FILTER_PATTERNS  = 
FILTER_SOURCE_FILES = NO 
FILTER_SOURCE_PATTERNS = 
USE_MDFILE_AS_MAINPAGE = ../README.md 
SOURCE_BROWSER   = NO 
INLINE_SOURCES   = NO 
STRIP_CODE_COMMENTS = YES 
REFERENCED_BY_RELATION = NO 
REFERENCES_RELATION = NO 
REFERENCES_LINK_SOURCE = YES 
SOURCE_TOOLTIPS  = YES 
USE_HTAGS    = NO 
VERBATIM_HEADERS  = YES 
CLANG_ASSISTED_PARSING = NO 
CLANG_OPTIONS   = 
... 

回答

0

這行看起來很可疑,就像你不允許doxygen處理你的實現文件一樣。難怪只有標題中定義的項目纔會出現。

INPUT     = ../include ../README.md 
+0

確實如此,但我在談論標題中的聲明和定義。添加不相關的源文件是否有幫助,還是必須將該定義放在源文件中以便解析註釋?如果是這樣,爲什麼這不適用於模板結構?很抱歉,如果這是明顯的。我的M.O.通常是在一個頭文件中轉發聲明結構體,在「子頭文件」中定義它們和它們的成員,並且爲每個源文件中的每一個實現它們的實現。到目前爲止,我只對向forward聲明添加文檔感興趣,儘管其他一切最終都會發生。 –

+0

如果你能解釋爲什麼這是這種情況,我會很樂意標記你的答案......抱歉浪費你的時間,但我不明白爲什麼模板化的聲明和/或定義應該由Doxygen解析,但不是一個模糊的,不管它是否在頭文件中找到。 –

+0

@JohnP:我想我更關心的是成員而不是類型本身,所以我的回答可能無法真正解決您的問題。無論如何,模板類前向聲明​​沒有這樣的事情。這個模板的第一個定義可能缺少一個類體,但它仍然定義了模板 - 它的模板參數和每個模板的默認值 - 以及這個定義已經允許使用和特化(由於兩階段查找)。 –