【问题标题】:doxygen is not searching the include directorydoxygen 没有搜索包含目录
【发布时间】:2015-07-15 04:34:55
【问题描述】:

对这篇文章的长度感到抱歉。我在 W7 64 位机器上使用 Doxygen 1.8.10。我已经在 code::blocks 13.12 中编写并编译了我的代码。

我的文件结构如下:D:/Base/CodeBlocksProjects/SFML_apps/Alarm Clock 包含我的cpp 文件,我所有的头文件都在/CodeBlocksProjects/include 中。

我希望将 Doxygen 文档保存在 /CodeBlocksProjects/SFML_apps/Alarm Clock/Doxygen 中。这被设置为工作目录。 OUTPUT_DIRECTORY 设置为 .(一个点)。这意味着据我了解,Doxygen 会将其生成的文件保存在/Alarm Clock/Doxygen
INPUT 设置为../,这意味着 Doxygen 将在/Alarm Clock/ 文件夹中查找源文件。 SEARCH_INCLUDES 已打开,包含路径为 ../../../include。当我使用目录查找器按钮指向我的包含文件夹时,会生成此相对路径。

其他一切都几乎是默认设置。但是没有找到并列出我的包含文件,因此除了/Alarm Clock/ 文件夹中的各种测试文件中的一些琐碎的类之外,没有类信息。 我已经附加了 Doxyfile 设置。

任何帮助将不胜感激。我已经完成了这段代码,我想在继续之前记录它......

# Doxyfile 1.8.10    

#---------------------------------------------------------------------------    
# Project related configuration options    
#---------------------------------------------------------------------------    
DOXYFILE_ENCODING      = UTF-8    
PROJECT_NAME           = "Alarm Clock"    
PROJECT_NUMBER         = "Beta 1.01"    
PROJECT_BRIEF          =     
PROJECT_LOGO           =     
OUTPUT_DIRECTORY       = .    
CREATE_SUBDIRS         = NO    
ALLOW_UNICODE_NAMES    = NO    
OUTPUT_LANGUAGE        = English    
BRIEF_MEMBER_DESC      = YES    
REPEAT_BRIEF           = YES    
ABBREVIATE_BRIEF       =     
ALWAYS_DETAILED_SEC    = NO    
INLINE_INHERITED_MEMB  = NO    
FULL_PATH_NAMES        = NO    
STRIP_FROM_PATH        =     
STRIP_FROM_INC_PATH    =     
SHORT_NAMES            = NO    
JAVADOC_AUTOBRIEF      = NO    
QT_AUTOBRIEF           = NO    
MULTILINE_CPP_IS_BRIEF = NO    
INHERIT_DOCS           = YES    
SEPARATE_MEMBER_PAGES  = NO    
TAB_SIZE               = 8    
ALIASES                =     
TCL_SUBST              =     
OPTIMIZE_OUTPUT_FOR_C  = NO    
OPTIMIZE_OUTPUT_JAVA   = NO    
OPTIMIZE_FOR_FORTRAN   = NO    
OPTIMIZE_OUTPUT_VHDL   = NO    
EXTENSION_MAPPING      =     
MARKDOWN_SUPPORT       = YES    
AUTOLINK_SUPPORT       = YES    
BUILTIN_STL_SUPPORT    = NO    
CPP_CLI_SUPPORT        = NO    
SIP_SUPPORT            = NO    
IDL_PROPERTY_SUPPORT   = YES    
DISTRIBUTE_GROUP_DOC   = NO    
GROUP_NESTED_COMPOUNDS = NO    
SUBGROUPING            = YES    
INLINE_GROUPED_CLASSES = NO    
INLINE_SIMPLE_STRUCTS  = NO    
TYPEDEF_HIDES_STRUCT   = NO    
LOOKUP_CACHE_SIZE      = 0    
#---------------------------------------------------------------------------    
# Build related configuration options    
#---------------------------------------------------------------------------    
EXTRACT_ALL            = YES    
EXTRACT_PRIVATE        = YES    
EXTRACT_PACKAGE        = YES    
EXTRACT_STATIC         = YES    
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       = NO    
HIDE_SCOPE_NAMES       = NO    
HIDE_COMPOUND_REFERENCE= NO    
SHOW_INCLUDE_FILES     = YES    
SHOW_GROUPED_MEMB_INC  = NO    
FORCE_LOCAL_INCLUDES   = YES    
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         =     
#---------------------------------------------------------------------------    
# Configuration options related to warning and progress messages    
#---------------------------------------------------------------------------    
QUIET                  = NO    
WARNINGS               = YES    
WARN_IF_UNDOCUMENTED   = NO    
WARN_IF_DOC_ERROR      = YES    
WARN_NO_PARAMDOC       = YES    
WARN_FORMAT            = "$file:$line: $text"    
WARN_LOGFILE           = "D:\Coding\CodeBlocksProjects\SFML_Apps\Alarm Clock\doxygen\doxygen.log"    
#---------------------------------------------------------------------------    
# Configuration options related to the input files    
#---------------------------------------------------------------------------    
INPUT                  = ../    
INPUT_ENCODING         = UTF-8    
FILE_PATTERNS          =     
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    
FILTER_SOURCE_PATTERNS =     
USE_MDFILE_AS_MAINPAGE =     
#---------------------------------------------------------------------------    
# Configuration options related to source browsing    
#---------------------------------------------------------------------------    
SOURCE_BROWSER         = YES    
INLINE_SOURCES         = YES    
STRIP_CODE_COMMENTS    = YES    
REFERENCED_BY_RELATION = YES    
REFERENCES_RELATION    = YES    
REFERENCES_LINK_SOURCE = YES    
SOURCE_TOOLTIPS        = YES    
USE_HTAGS              = NO    
VERBATIM_HEADERS       = YES    
#---------------------------------------------------------------------------    
# Configuration options related to the alphabetical class index    
#---------------------------------------------------------------------------    
ALPHABETICAL_INDEX     = YES    
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            =     
HTML_STYLESHEET        =     
HTML_EXTRA_STYLESHEET  =     
HTML_EXTRA_FILES       =     
HTML_COLORSTYLE_HUE    = 220    
HTML_COLORSTYLE_SAT    = 100    
HTML_COLORSTYLE_GAMMA  = 80    
HTML_TIMESTAMP         = YES    
HTML_DYNAMIC_SECTIONS  = NO    
HTML_INDEX_NUM_ENTRIES = 100    
GENERATE_DOCSET        = NO    
DOCSET_FEEDNAME        = "Doxygen generated docs"    
DOCSET_BUNDLE_ID       = org.doxygen.Project    
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher    
DOCSET_PUBLISHER_NAME  = Publisher    
GENERATE_HTMLHELP      = NO    
CHM_FILE               = "../Alarm Clock.chm"    
HHC_LOCATION           =     
GENERATE_CHI           = NO    
CHM_INDEX_ENCODING     =     
BINARY_TOC             = NO    
TOC_EXPAND             = NO    
GENERATE_QHP           = NO    
QCH_FILE               =     
QHP_NAMESPACE          = org.doxygen.Project    
QHP_VIRTUAL_FOLDER     = doc    
QHP_CUST_FILTER_NAME   =     
QHP_CUST_FILTER_ATTRS  =     
QHP_SECT_FILTER_ATTRS  =     
QHG_LOCATION           =     
GENERATE_ECLIPSEHELP   = NO    
ECLIPSE_DOC_ID         = org.doxygen.Project    
DISABLE_INDEX          = NO    
GENERATE_TREEVIEW      = YES    
ENUM_VALUES_PER_LINE   = 4    
TREEVIEW_WIDTH         = 250    
EXT_LINKS_IN_WINDOW    = NO    
FORMULA_FONTSIZE       = 10    
FORMULA_TRANSPARENT    = YES    
USE_MATHJAX            = NO    
MATHJAX_FORMAT         = HTML-CSS    
MATHJAX_RELPATH        = http://www.mathjax.org/mathjax    
MATHJAX_EXTENSIONS     =     
MATHJAX_CODEFILE       =     
SEARCHENGINE           = YES    
SERVER_BASED_SEARCH    = NO    
EXTERNAL_SEARCH        = NO    
SEARCHENGINE_URL       =     
SEARCHDATA_FILE        = searchdata.xml    
EXTERNAL_SEARCH_ID     =     
EXTRA_SEARCH_MAPPINGS  =     
#---------------------------------------------------------------------------    
# 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             = a4    
EXTRA_PACKAGES         =     
LATEX_HEADER           =     
LATEX_FOOTER           =     
LATEX_EXTRA_STYLESHEET =     
LATEX_EXTRA_FILES      =     
PDF_HYPERLINKS         = YES    
USE_PDFLATEX           = YES    
LATEX_BATCHMODE        = NO    
LATEX_HIDE_INDICES     = NO    
LATEX_SOURCE_CODE      = NO    
LATEX_BIB_STYLE        = plain    
#---------------------------------------------------------------------------    
# Configuration options related to the RTF output    
#---------------------------------------------------------------------------    
GENERATE_RTF           = YES    
RTF_OUTPUT             = rtf    
COMPACT_RTF            = NO    
RTF_HYPERLINKS         = NO    
RTF_STYLESHEET_FILE    =     
RTF_EXTENSIONS_FILE    =     
RTF_SOURCE_CODE        = NO    
#---------------------------------------------------------------------------    
# Configuration options related to the man page output    
#---------------------------------------------------------------------------    
GENERATE_MAN           = NO    
MAN_OUTPUT             = man    
MAN_EXTENSION          = .3    
MAN_SUBDIR             =     
MAN_LINKS              = NO    
#---------------------------------------------------------------------------    
# Configuration options related to the XML output    
#---------------------------------------------------------------------------    
GENERATE_XML           = NO    
XML_OUTPUT             = xml    
XML_PROGRAMLISTING     = YES    
#---------------------------------------------------------------------------    
# Configuration options related to the DOCBOOK output    
#---------------------------------------------------------------------------    
GENERATE_DOCBOOK       = NO    
DOCBOOK_OUTPUT         = docbook    
DOCBOOK_PROGRAMLISTING = NO    
#---------------------------------------------------------------------------    
# 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     = NO    
SEARCH_INCLUDES        = YES    
INCLUDE_PATH           = ../../../include    
INCLUDE_FILE_PATTERNS  =     
PREDEFINED             =     
EXPAND_AS_DEFINED      =     
SKIP_FUNCTION_MACROS   = NO    
#---------------------------------------------------------------------------    
# Configuration options related to external references    
#---------------------------------------------------------------------------    
TAGFILES               =     
GENERATE_TAGFILE       =     
ALLEXTERNALS           = NO    
EXTERNAL_GROUPS        = YES    
EXTERNAL_PAGES         = YES    
PERL_PATH              = /usr/bin/perl    
#---------------------------------------------------------------------------    
# Configuration options related to the dot tool    
#---------------------------------------------------------------------------    
CLASS_DIAGRAMS         = YES    
MSCGEN_PATH            =     
DIA_PATH               =     
HIDE_UNDOC_RELATIONS   = YES    
HAVE_DOT               = YES    
DOT_NUM_THREADS        = 0    
DOT_FONTNAME           = Helvetica    
DOT_FONTSIZE           = 10    
DOT_FONTPATH           =     
CLASS_GRAPH            = YES    
COLLABORATION_GRAPH    = YES    
GROUP_GRAPHS           = YES    
UML_LOOK               = NO    
UML_LIMIT_NUM_FIELDS   = 10    
TEMPLATE_RELATIONS     = NO    
INCLUDE_GRAPH          = YES    
INCLUDED_BY_GRAPH      = YES    
CALL_GRAPH             = YES    
CALLER_GRAPH           = YES    
GRAPHICAL_HIERARCHY    = YES    
DIRECTORY_GRAPH        = YES    
DOT_IMAGE_FORMAT       = png    
INTERACTIVE_SVG        = NO    
DOT_PATH               = "C:\Program Files (x86)\Graphviz2.38\bin\dot.exe"    
DOTFILE_DIRS           =     
MSCFILE_DIRS           =     
DIAFILE_DIRS           =     
PLANTUML_JAR_PATH      =     
PLANTUML_INCLUDE_PATH  =     
DOT_GRAPH_MAX_NODES    = 50    
MAX_DOT_GRAPH_DEPTH    = 0    
DOT_TRANSPARENT        = NO    
DOT_MULTI_TARGETS      = NO    
GENERATE_LEGEND        = YES    
DOT_CLEANUP            = YES  

【问题讨论】:

    标签: c++ doxygen doxywizard


    【解决方案1】:

    我不确定搜索 doxygen 做了多少,源文件不在 ../ 中,它们在 ../Alarm Clock 中。尝试明确指定文件目录:

    INPUT = "../Alarm Clock" ../../../include
    

    也可能是目录名称Alarm Clock 中的空格给您带来了一些问题(这就是我在INPUT 行中将其括在引号中的原因)。

    编辑

    您还需要将 doxygen 样式的 cmets 添加到您想要包含在文档中的文件中。例如:

    /**
    * This is a function to document, notice the double star in the comment
    */
    void func()
    

    或者添加

    EXTRACT_ALL = YES
    

    到配置文件。这将为所有功能添加文档(这是一个很好的尝试)。

    【讨论】:

    • 谢谢。我尝试了 INPUT 的所有变体,但结果相同。我附上了一些输出日志 - 我注意到 DG 在扫描源文件之前正在寻找包含 - 那么它如何知道调用了哪些标头?搜索包含文件... 搜索目录 D:/Coding/CodeBlocksProjects/include 中的文件 搜索示例文件... 搜索图像... 搜索点文件... 搜索 dia 文件... 搜索文件排除 Searching INPUT for files to process... 在目录 D:/Coding/CodeBlocksProjects/SFML_Apps/Alarm Clock 中搜索文件。等
    • Doxygen 将始终首先搜索标题,这确实定义了项目的功能。源文件只是实现。您是否在头文件中包含了 doxygen cmets?有关详细信息,请参阅我编辑的答案。
    • 嗯,我已经通过实际将头文件名放入输入框中来使其工作。我曾在头文件中尝试过 /** @file */ 但它没有帮助。幸运的是项目中只有 4 个头文件,但如果它是一个更复杂的应用程序,那就很难了。此外,对于文件和目录斜杠是“\”或“/”似乎有些混淆,这可能也无济于事。话虽如此,我确实认为它是一个出色的程序,如果调整得当,它确实会产生非常详尽的文档。谢谢你的帮助,Tim B。
    猜你喜欢
    • 1970-01-01
    • 2014-01-29
    • 2013-08-06
    • 2017-03-14
    • 2015-07-06
    • 2012-09-03
    • 1970-01-01
    • 2020-05-13
    相关资源
    最近更新 更多