2012-06-14 85 views
0

我在我的C++项目中使用doxygen来生成文档。我的项目建设这个验证码doxygen的工作正常,并得到一个详细的文档后,同时包含类函数和过程调用一样,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); 
    } 
}' 

。 但是,当我试图与一个程序调用,比如,

//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 
+1

如果您设置了'EXTRACT_ALL = YES',会发生什么?你不应该这样做是这种情况,但... –

+0

好抓!它现在有效。非常感谢。 –

回答

0

如果EXTRACT_ALL=YES不工作,尝试将DOC格式如下:

// Format: 
/** 
* 
*/ 

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

这和OP表单有什么区别? '/ **'相当于'/ *!'。 – Chris

+1

也许这是Doxygen中的一个错误,我不知道。但我知道'/ **'很好,因为我正在使用它;) – Synxis

+0

够公平的!我倾向于使用'/ **',但假设'/ *!'可以正常工作。 – Chris

1

从doxygen的FAQ

当我设置EXTRACT_ALLNO没有在我的职务显示在文档中。

为了全局函数,变量,枚举类型定义,并定义要记录你应该记录在其中这些命令使用含有\file(或@file)命令注释块位于该文件。

对于作为名称空间一部分的成员函数或函数,您应该记录类或名称空间。

你可以检查你所包含的文件BBB.h或尝试记录的命名空间NAME2\file命令?

+1

正如Chris所说的,你应该使用'@ file'命令来更好地控制文档中包含的内容'EXTRACT_ALL = YES'是一种能够捕获所有内容的钝器。 –