简体   繁体   中英

Unable to generate call graphs doxygen/graphviz

I'm trying to generate a call graph using doxygen and graphiz. Following the answers posted here and here I've added dot to the PATH and also created a DOT_PATH environment variable:

doomguy@hell:~/Work/gmp-6.0.0$ which dot
/usr/local/bin/dot
doomguy@hell:~/Work/gmp-6.0.0$ env | grep DOT_PATH
DOT_PATH=/usr/local/bin/dot
doomguy@hell:~/Work/gmp-6.0.0$dot -V
dot - graphviz version 2.38.0 (20140413.2041)

I've generated the Doxyfile:

doxygen -g 

and modified the entries:

HAVE_DOT = YES
RECURSIVE = YES
EXTRACT_ALL = YES
GENERATE_LATEX = NO 
WARN_LOGFILE = DoxyLog

The log file contains:

gmp-6.0.0/mpn/generic/jacobi.c:130: warning: include file jacobitab.h not found, perhaps you forgot to add its directory to INCLUDE_PATH?

Also, there are no .dot files being generated. What am I missing?

The (stripped) Doxyfile is:

DOXYFILE_ENCODING      = UTF-8


PROJECT_NAME           = "GMP Custom build"


PROJECT_NUMBER         =


PROJECT_BRIEF          =


PROJECT_LOGO           =


OUTPUT_DIRECTORY       = "GMP_output"


CREATE_SUBDIRS         = YES


ALLOW_UNICODE_NAMES    = NO


OUTPUT_LANGUAGE        = English


BRIEF_MEMBER_DESC      = YES


REPEAT_BRIEF           = YES


ABBREVIATE_BRIEF       =


ALWAYS_DETAILED_SEC    = YES


INLINE_INHERITED_MEMB  = YES


FULL_PATH_NAMES        = YES


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  = YES


TAB_SIZE               = 4


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



EXTRACT_ALL            = YES


EXTRACT_PRIVATE        = YES


EXTRACT_PACKAGE        = YES


EXTRACT_STATIC         = YES


EXTRACT_LOCAL_CLASSES  = YES


EXTRACT_LOCAL_METHODS  = YES


EXTRACT_ANON_NSPACES   = YES


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


HIDE_COMPOUND_REFERENCE= 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                  =


INPUT_ENCODING         = UTF-8


FILE_PATTERNS          =


RECURSIVE              = YES


EXCLUDE                =


EXCLUDE_SYMLINKS       = NO


EXCLUDE_PATTERNS       =


EXCLUDE_SYMBOLS        =


EXAMPLE_PATH           =


EXAMPLE_PATTERNS       =


EXAMPLE_RECURSIVE      = YES


IMAGE_PATH             =


INPUT_FILTER           =


FILTER_PATTERNS        =


FILTER_SOURCE_FILES    = NO


FILTER_SOURCE_PATTERNS =


USE_MDFILE_AS_MAINPAGE =



SOURCE_BROWSER         = YES


INLINE_SOURCES         = NO


STRIP_CODE_COMMENTS    = YES


REFERENCED_BY_RELATION = NO


REFERENCES_RELATION    = NO


REFERENCES_LINK_SOURCE = YES


SOURCE_TOOLTIPS        = YES


USE_HTAGS              = YES


VERBATIM_HEADERS       = YES



ALPHABETICAL_INDEX     = YES


COLS_IN_ALPHA_INDEX    = 5


IGNORE_PREFIX          =



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         = NO


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               =


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://cdn.mathjax.org/mathjax/latest


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  =



GENERATE_LATEX         = YES


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



GENERATE_RTF           = NO


RTF_OUTPUT             = rtf


COMPACT_RTF            = NO


RTF_HYPERLINKS         = NO


RTF_STYLESHEET_FILE    =


RTF_EXTENSIONS_FILE    =


RTF_SOURCE_CODE        = NO



GENERATE_MAN           = NO


MAN_OUTPUT             = man


MAN_EXTENSION          = .3


MAN_SUBDIR             =


MAN_LINKS              = NO



GENERATE_XML           = NO


XML_OUTPUT             = xml


XML_PROGRAMLISTING     = YES



GENERATE_DOCBOOK       = NO


DOCBOOK_OUTPUT         = docbook


DOCBOOK_PROGRAMLISTING = NO



GENERATE_AUTOGEN_DEF   = NO



GENERATE_PERLMOD       = NO


PERLMOD_LATEX          = NO


PERLMOD_PRETTY         = YES


PERLMOD_MAKEVAR_PREFIX =



ENABLE_PREPROCESSING   = YES


MACRO_EXPANSION        = NO


EXPAND_ONLY_PREDEF     = NO


SEARCH_INCLUDES        = YES


INCLUDE_PATH           =


INCLUDE_FILE_PATTERNS  =


PREDEFINED             =


EXPAND_AS_DEFINED      =


SKIP_FUNCTION_MACROS   = YES



TAGFILES               =


GENERATE_TAGFILE       =


ALLEXTERNALS           = NO


EXTERNAL_GROUPS        = YES


EXTERNAL_PAGES         = YES


PERL_PATH              = /usr/bin/perl



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               = YES


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               =


DOTFILE_DIRS           =


MSCFILE_DIRS           =


DIAFILE_DIRS           =


PLANTUML_JAR_PATH      =


PLANTUML_INCLUDE_PATH  =


DOT_GRAPH_MAX_NODES    = 50


MAX_DOT_GRAPH_DEPTH    = 50


DOT_TRANSPARENT        = NO


DOT_MULTI_TARGETS      = NO


GENERATE_LEGEND        = YES


DOT_CLEANUP            = YES

Edit:

I've managed to get include graphs but not caller graphs with the above configuration file.

包括依赖 What flags should be set in order to get the call graphs?

As correctly pointed out by albert, the USE_HTAGS flag must be set to NO. The final doxygen configuration file is:

DOXYFILE_ENCODING      = UTF-8


PROJECT_NAME           = "GMP Custom build"


PROJECT_NUMBER         =


PROJECT_BRIEF          =


PROJECT_LOGO           =


OUTPUT_DIRECTORY       = "GMP_output"


CREATE_SUBDIRS         = YES


ALLOW_UNICODE_NAMES    = NO


OUTPUT_LANGUAGE        = English


BRIEF_MEMBER_DESC      = YES


REPEAT_BRIEF           = YES


ABBREVIATE_BRIEF       =


ALWAYS_DETAILED_SEC    = YES


INLINE_INHERITED_MEMB  = YES


FULL_PATH_NAMES        = YES


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  = YES


TAB_SIZE               = 4


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



EXTRACT_ALL            = YES


EXTRACT_PRIVATE        = YES


EXTRACT_PACKAGE        = YES


EXTRACT_STATIC         = YES


EXTRACT_LOCAL_CLASSES  = YES


EXTRACT_LOCAL_METHODS  = YES


EXTRACT_ANON_NSPACES   = YES


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


HIDE_COMPOUND_REFERENCE= 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                  =


INPUT_ENCODING         = UTF-8


FILE_PATTERNS          =


RECURSIVE              = YES


EXCLUDE                =


EXCLUDE_SYMLINKS       = NO


EXCLUDE_PATTERNS       =


EXCLUDE_SYMBOLS        =


EXAMPLE_PATH           =


EXAMPLE_PATTERNS       =


EXAMPLE_RECURSIVE      = YES


IMAGE_PATH             =


INPUT_FILTER           =


FILTER_PATTERNS        =


FILTER_SOURCE_FILES    = NO


FILTER_SOURCE_PATTERNS =


USE_MDFILE_AS_MAINPAGE =



SOURCE_BROWSER         = YES


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



ALPHABETICAL_INDEX     = YES


COLS_IN_ALPHA_INDEX    = 5


IGNORE_PREFIX          =



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         = NO


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               =


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://cdn.mathjax.org/mathjax/latest


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  =



GENERATE_LATEX         = YES


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



GENERATE_RTF           = NO


RTF_OUTPUT             = rtf


COMPACT_RTF            = NO


RTF_HYPERLINKS         = NO


RTF_STYLESHEET_FILE    =


RTF_EXTENSIONS_FILE    =


RTF_SOURCE_CODE        = NO



GENERATE_MAN           = NO


MAN_OUTPUT             = man


MAN_EXTENSION          = .3


MAN_SUBDIR             =


MAN_LINKS              = NO



GENERATE_XML           = NO


XML_OUTPUT             = xml


XML_PROGRAMLISTING     = YES



GENERATE_DOCBOOK       = NO


DOCBOOK_OUTPUT         = docbook


DOCBOOK_PROGRAMLISTING = NO



GENERATE_AUTOGEN_DEF   = NO



GENERATE_PERLMOD       = NO


PERLMOD_LATEX          = NO


PERLMOD_PRETTY         = YES


PERLMOD_MAKEVAR_PREFIX =



ENABLE_PREPROCESSING   = YES


MACRO_EXPANSION        = NO


EXPAND_ONLY_PREDEF     = NO


SEARCH_INCLUDES        = YES


INCLUDE_PATH           =


INCLUDE_FILE_PATTERNS  =


PREDEFINED             =


EXPAND_AS_DEFINED      =


SKIP_FUNCTION_MACROS   = YES



TAGFILES               =


GENERATE_TAGFILE       =


ALLEXTERNALS           = NO


EXTERNAL_GROUPS        = YES


EXTERNAL_PAGES         = YES


PERL_PATH              = /usr/bin/perl



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               = YES


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               =


DOTFILE_DIRS           =


MSCFILE_DIRS           =


DIAFILE_DIRS           =


PLANTUML_JAR_PATH      =


PLANTUML_INCLUDE_PATH  =


DOT_GRAPH_MAX_NODES    = 50


MAX_DOT_GRAPH_DEPTH    = 50


DOT_TRANSPARENT        = NO


DOT_MULTI_TARGETS      = NO


GENERATE_LEGEND        = YES


DOT_CLEANUP            = YES

In order generating doc in the conditional code inclusion, set the variables in doxyfile as follows:

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
PREDEFINED             =  Add flags such as corresponding to -D options in gcc

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM