2016-08-01 2 views
1

Если я объявляю класс в заголовке, no Doxygen запись создается. Если я определяю класс, все еще в заголовке, создается запись. Тем не менее, только шаблонные классы, похоже, создают надлежащую документацию (включая краткую), использую ли я @brief или QT 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

Правда, но я говорил о декларациях и определениях, которые были в заголовке. Будет ли добавлена ​​поддержка несвязанных исходных файлов или должно быть определено определение в исходном файле для анализа комментариев? Если да, почему это не относится к структурам шаблонов? Извините, если это очевидно. Мой МО. как правило, пересылать объявления в одном заголовке, определять их и их членов в «подзаголовках» и размещать реализации для каждого из источников. Пока что я заинтересован только в добавлении документации в объявления вперед, хотя все остальное произойдет в конечном итоге. –

+0

Если бы вы могли объяснить, почему это так, я был бы рад отметить ваш ответ ... извините, что тратил свое время, но я не понимаю, почему шаблонная декларация и/или определение должны быть проанализированы Doxygen, но не развязаны , независимо от того, найден ли он в файле заголовка. –

+0

@JohnP: Думаю, я больше думал о членах, а не о самих типах, поэтому мой ответ может не решить вашу проблему. Во всяком случае, нет такой вещи, как форвардная декларация класса шаблона. В первом определении шаблона может отсутствовать тело класса, но он по-прежнему определяет шаблон - его параметры шаблона и значения по умолчанию для каждого - и использование и специализация уже разрешены этим определением (из-за двухфазного поиска). –

Смежные вопросы