1

我在我的 c++ 项目中使用 doxygen 来生成文档。我的项目包含类函数和过程调用,例如,

 //AAA.h
 namespace NAME
 {
  Class EXPORT AAA
  {
    /*!
     * \brief Sample function.
     *
     * \param a is an integer value.
     *
     * This is a sample function.
     */  
     void SampleFunction(int a);
  }
}'

构建此代码后,doxygen 工作正常并获得详细文档。但是当我用一个程序调用来尝试这个时,

//BBB.h
namespace NAME2
{
  /*!
  * \brief This is a function      
  *
  * \param b is a float
  *
  * This is a function
  */
  void function(float b);
 }

构建代码后,文档创建但缺少用于描述的 html 文件,即

doxygen 使用带有简短声明的函数名称创建。但是当我单击函数名称时,它显示函数描述缺少 html 文件。以下是我项目中 doxygen 的 doxyfile。为了生成整个文档,要在 doxyfile 中更改哪个字段?

  # Doxyfile 1.5.5

  #---------------------------------------------------------------------------
  # Project related configuration options
  #---------------------------------------------------------------------------
  DOXYFILE_ENCODING      = UTF-8
  PROJECT_NAME           = "SAMPLE"
  PROJECT_NUMBER         = 0.0
  OUTPUT_DIRECTORY       = internal_docs/
  CREATE_SUBDIRS         = NO
  OUTPUT_LANGUAGE        = English
  BRIEF_MEMBER_DESC      = YES
  REPEAT_BRIEF           = YES
  ABBREVIATE_BRIEF       = "The $name class" \
                           "The $name widget" \
                           "The $name file" \
                           is \
                           provides \
                           specifies \
                           contains \
                           represents \
                           a \
                           an \
                           the
  ALWAYS_DETAILED_SEC    = NO
  INLINE_INHERITED_MEMB  = NO
  FULL_PATH_NAMES        = NO
  STRIP_FROM_PATH        = ../src/
  STRIP_FROM_INC_PATH    =
  SHORT_NAMES            = YES
  JAVADOC_AUTOBRIEF      = NO
  QT_AUTOBRIEF           = NO
  MULTILINE_CPP_IS_BRIEF = NO
  INHERIT_DOCS           = YES
  SEPARATE_MEMBER_PAGES  = NO
  TAB_SIZE               = 8
  ALIASES                =
  OPTIMIZE_OUTPUT_FOR_C  = NO
  OPTIMIZE_OUTPUT_JAVA   = NO
  OPTIMIZE_FOR_FORTRAN   = NO
  OPTIMIZE_OUTPUT_VHDL   = NO
  BUILTIN_STL_SUPPORT    = NO
  CPP_CLI_SUPPORT        = NO
  SIP_SUPPORT            = NO
  DISTRIBUTE_GROUP_DOC   = NO
  SUBGROUPING            = YES
  TYPEDEF_HIDES_STRUCT   = NO
  #---------------------------------------------------------------------------
  # Build related configuration options
  #---------------------------------------------------------------------------
  EXTRACT_ALL            = NO
  EXTRACT_PRIVATE        = YES
  EXTRACT_STATIC         = YES
  EXTRACT_LOCAL_CLASSES  = YES
  EXTRACT_LOCAL_METHODS  = YES
  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
  INLINE_INFO            = YES
  SORT_MEMBER_DOCS       = NO
  # GG setting below to YES will cause things to be alphabetic
  SORT_BRIEF_DOCS        = YES
  SORT_GROUP_NAMES       = NO
  SORT_BY_SCOPE_NAME     = NO
  GENERATE_TODOLIST      = YES
  GENERATE_TESTLIST      = YES
  GENERATE_BUGLIST       = YES
  GENERATE_DEPRECATEDLIST= YES
  ENABLED_SECTIONS       =
  MAX_INITIALIZER_LINES  = 30
  SHOW_USED_FILES        = YES
  SHOW_DIRECTORIES       = NO
  FILE_VERSION_FILTER    =
  #---------------------------------------------------------------------------
  # configuration options related to warning and progress messages
  #---------------------------------------------------------------------------
  QUIET                  = YES
  WARNINGS               = YES
  WARN_IF_UNDOCUMENTED   = YES
  WARN_IF_DOC_ERROR      = YES
  WARN_NO_PARAMDOC       = YES
  WARN_FORMAT            = "$file:$line: $text"
  WARN_LOGFILE           =
  #---------------------------------------------------------------------------
  # configuration options related to the input files
  #---------------------------------------------------------------------------
  INPUT                  = ../internal_include/ ../include/
  INPUT_ENCODING         = UTF-8
  FILE_PATTERNS          = *.c \
                           *.cc \
                           *.cxx \
                           *.cpp \
                           *.c++ \
                           *.d \
                           *.java \
                           *.ii \
                           *.ixx \
                           *.ipp \
                           *.i++ \
                           *.inl \
                           *.h \
                           *.hh \
                           *.hxx \
                           *.hpp \
                           *.h++ \
                           *.idl \
                           *.odl \
                           *.cs \
                           *.php \
                           *.php3 \
                           *.inc \
                           *.m \
                           *.mm \
                           *.dox \
                           *.py \
                           *.f90 \
                           *.f \
                           *.vhd \
                           *.vhdl \
                           *.C \
                           *.CC \
                           *.C++ \
                           *.II \
                           *.I++ \
                           *.H \
                           *.HH \
                           *.H++ \
                           *.CS \
                           *.PHP \
                           *.PHP3 \
                           *.M \
                           *.MM \
                           *.PY \
                           *.F90 \
                           *.F \
                           *.VHD \
                           *.VHDL
  RECURSIVE              = YES
  EXCLUDE                =
  EXCLUDE_SYMLINKS       = NO
  EXCLUDE_PATTERNS       = 
  EXCLUDE_SYMBOLS        =
  EXAMPLE_PATH           =
  EXAMPLE_PATTERNS       = *
  EXAMPLE_RECURSIVE      = NO
  IMAGE_PATH             =
  INPUT_FILTER           =
  FILTER_PATTERNS        =
  FILTER_SOURCE_FILES    = NO
  #---------------------------------------------------------------------------
  # configuration options related to source browsing
  #---------------------------------------------------------------------------
  # GG changed below to NO 7/16/2010
  SOURCE_BROWSER         = NO
  INLINE_SOURCES         = NO
  STRIP_CODE_COMMENTS    = YES
  # GG changed below to NO 7/16/2010
  REFERENCED_BY_RELATION = NO
  # GG changed below to NO 7/16/2010
  REFERENCES_RELATION    = NO
  # GG changed below to NO 7/16/2010
  REFERENCES_LINK_SOURCE = NO
  USE_HTAGS              = NO
  # GG changed below to NO 7/16/2010
  VERBATIM_HEADERS       = NO
  #---------------------------------------------------------------------------
  # configuration options related to the alphabetical class index
  #---------------------------------------------------------------------------
  ALPHABETICAL_INDEX     = NO
  COLS_IN_ALPHA_INDEX    = 5
  IGNORE_PREFIX          =
  #---------------------------------------------------------------------------
  # configuration options related to the HTML output
  #---------------------------------------------------------------------------
  GENERATE_HTML          = YES
  HTML_OUTPUT            = html
  HTML_FILE_EXTENSION    = .html
  HTML_HEADER            =
  HTML_FOOTER            = external_docs/files/footer.html
  HTML_STYLESHEET        =
  HTML_ALIGN_MEMBERS     = YES
  GENERATE_HTMLHELP      = NO
  GENERATE_DOCSET        = NO
  DOCSET_FEEDNAME        = "Doxygen generated docs"
  DOCSET_BUNDLE_ID       = org.doxygen.Project
  HTML_DYNAMIC_SECTIONS  = NO
  CHM_FILE               =
  HHC_LOCATION           =
  GENERATE_CHI           = NO
  BINARY_TOC             = NO
  TOC_EXPAND             = NO
  #GG line below changed
  DISABLE_INDEX          = YES
  ENUM_VALUES_PER_LINE   = 1
  #GG line below changed
  GENERATE_TREEVIEW      = NO
  TREEVIEW_WIDTH         = 250
  #---------------------------------------------------------------------------
  # configuration options related to the LaTeX output
  #---------------------------------------------------------------------------
  GENERATE_LATEX         = NO
  LATEX_OUTPUT           = latex
  LATEX_CMD_NAME         = latex
  MAKEINDEX_CMD_NAME     = makeindex
  COMPACT_LATEX          = NO
  PAPER_TYPE             = a4wide
  EXTRA_PACKAGES         =
  LATEX_HEADER           =
  PDF_HYPERLINKS         = YES
  USE_PDFLATEX           = YES
  LATEX_BATCHMODE        = NO
  LATEX_HIDE_INDICES     = NO
  #---------------------------------------------------------------------------
  # configuration options related to the RTF output
  #---------------------------------------------------------------------------
  GENERATE_RTF           = NO
  RTF_OUTPUT             = rtf
  COMPACT_RTF            = NO
  RTF_HYPERLINKS         = NO
  RTF_STYLESHEET_FILE    =
  RTF_EXTENSIONS_FILE    =
  #---------------------------------------------------------------------------
  # configuration options related to the man page output
  #---------------------------------------------------------------------------
  GENERATE_MAN           = NO
  MAN_OUTPUT             = man
  MAN_EXTENSION          = .3
  MAN_LINKS              = NO
  #---------------------------------------------------------------------------
  # configuration options related to the XML output
  #---------------------------------------------------------------------------
  GENERATE_XML           = NO
  XML_OUTPUT             = xml
  XML_SCHEMA             =
  XML_DTD                =
  XML_PROGRAMLISTING     = YES
  #---------------------------------------------------------------------------
  # configuration options for the AutoGen Definitions output
  #---------------------------------------------------------------------------
  GENERATE_AUTOGEN_DEF   = NO
  #---------------------------------------------------------------------------
  # configuration options related to the Perl module output
  #---------------------------------------------------------------------------
  GENERATE_PERLMOD       = NO
  PERLMOD_LATEX          = NO
  PERLMOD_PRETTY         = YES
  PERLMOD_MAKEVAR_PREFIX =
  #---------------------------------------------------------------------------
  # Configuration options related to the preprocessor
  #---------------------------------------------------------------------------
  ENABLE_PREPROCESSING   = YES
  MACRO_EXPANSION        = YES
  EXPAND_ONLY_PREDEF     = YES
  SEARCH_INCLUDES        = YES
  INCLUDE_PATH           =
  INCLUDE_FILE_PATTERNS  =
  PREDEFINED             = EXPORT  =
  EXPAND_AS_DEFINED      =
  SKIP_FUNCTION_MACROS   = YES
  #---------------------------------------------------------------------------
  # Configuration::additions related to external references
  #---------------------------------------------------------------------------
  TAGFILES               =
  GENERATE_TAGFILE       =
  ALLEXTERNALS           = NO
  EXTERNAL_GROUPS        = YES
  PERL_PATH              = /usr/bin/perl
  #---------------------------------------------------------------------------
  # Configuration options related to the dot tool
  #---------------------------------------------------------------------------
  CLASS_DIAGRAMS         = NO
  MSCGEN_PATH            =
  HIDE_UNDOC_RELATIONS   = YES
  HAVE_DOT               = NO
  CLASS_GRAPH            = YES
  COLLABORATION_GRAPH    = YES
  GROUP_GRAPHS           = YES
  UML_LOOK               = NO
  TEMPLATE_RELATIONS     = NO
  INCLUDE_GRAPH          = YES
  INCLUDED_BY_GRAPH      = YES
  CALL_GRAPH             = YES
  CALLER_GRAPH           = NO
  GRAPHICAL_HIERARCHY    = YES
  DIRECTORY_GRAPH        = YES
  DOT_IMAGE_FORMAT       = png
  DOT_PATH               =
  DOTFILE_DIRS           =
  DOT_GRAPH_MAX_NODES    = 50
  MAX_DOT_GRAPH_DEPTH    = 1000
  DOT_TRANSPARENT        = YES
  DOT_MULTI_TARGETS      = NO
  GENERATE_LEGEND        = YES
  DOT_CLEANUP            = YES
  #---------------------------------------------------------------------------
  # Configuration::additions related to the search engine
  #---------------------------------------------------------------------------
  SEARCHENGINE           = NO
4

2 回答 2

4

从 doxygen常见问题解答

当我设置EXTRACT_ALLNO文档中不显示我的任何功能时。

为了记录全局函数、变量、枚举、类型定义和定义,您应该使用包含\file(或@file)命令的注释块记录这些命令所在的文件。

对于成员函数或属于命名空间的函数,您应该记录类或命名空间。

您可以检查文件中是否包含\file命令BBB.h或尝试记录命名空间NAME2吗?

于 2012-06-14T08:49:24.673 回答
-1

如果EXTRACT_ALL=YES不起作用,请尝试按以下方式格式化文档:

// Format:
/**
*
*/

// ex:
//BBB.h
namespace NAME2
{
  /**
  * \brief This is a function      
  *
  * \param b is a float
  *
  * This is a function
  */
  void function(float b);
 }
于 2012-06-14T08:49:14.550 回答