Manual.Pdf Will Be Located in the Latex Directory of the Distribution
Total Page:16
File Type:pdf, Size:1020Kb
Manual for version 1.8.7 Written by Dimitri van Heesch ©1997-2014 Contents I User Manual 1 1 Introduction 3 2 Installation 7 2.1 Compiling from source on UNIX..................................... 7 2.2 Installing the binaries on UNIX...................................... 8 2.3 Known compilation problems for UNIX ................................. 9 2.4 Compiling from source on Windows................................... 10 2.5 Installing the binaries on Windows.................................... 10 2.6 Tools used to develop doxygen ..................................... 11 3 Getting Started 13 3.1 Step 0: Check if doxygen supports your programming language.................... 14 3.2 Step 1: Creating a configuration file................................... 14 3.3 Step 2: Running doxygen ........................................ 15 3.3.1 HTML output .......................................... 15 3.3.2 LaTeX output .......................................... 16 3.3.3 RTF output ........................................... 16 3.3.4 XML output ........................................... 16 3.3.5 Man page output ........................................ 16 3.3.6 DocBook output......................................... 16 3.4 Step 3: Documenting the sources.................................... 17 4 Documenting the code 19 4.1 Special comment blocks......................................... 19 4.1.1 Comment blocks for C-like languages (C/C++/C#/Objective-C/PHP/Java)........... 19 4.1.1.1 Putting documentation after members....................... 21 4.1.1.2 Examples ..................................... 22 4.1.1.3 Documentation at other places .......................... 24 4.1.2 Comment blocks in Python ................................... 26 4.1.3 Comment blocks in VHDL.................................... 27 II CONTENTS 4.1.4 Comment blocks in Fortran................................... 28 4.1.5 Comment blocks in Tcl ..................................... 28 4.2 Anatomy of a comment block ...................................... 30 5 Markdown 31 5.1 Standard Markdown........................................... 31 5.1.1 Paragraphs ........................................... 31 5.1.2 Headers............................................. 31 5.1.3 Block quotes........................................... 32 5.1.4 Lists............................................... 32 5.1.5 Code Blocks........................................... 32 5.1.6 Horizontal Rulers ........................................ 33 5.1.7 Emphasis ............................................ 33 5.1.8 code spans ........................................... 33 5.1.9 Links............................................... 33 5.1.9.1 Inline Links..................................... 33 5.1.9.2 Reference Links.................................. 34 5.1.10 Images ............................................. 34 5.1.11 Automatic Linking........................................ 35 5.2 Markdown Extensions.......................................... 35 5.2.1 Table of Contents........................................ 35 5.2.2 Tables.............................................. 35 5.2.3 Fenced Code Blocks ...................................... 35 5.2.4 Header Id Attributes....................................... 36 5.3 Doxygen specifics............................................ 36 5.3.1 Including Markdown files as pages............................... 37 5.3.2 Treatment of HTML blocks ................................... 37 5.3.3 Code Block Indentation..................................... 37 5.3.4 Emphasis limits......................................... 38 5.3.5 Code Spans Limits ....................................... 38 5.3.6 Lists Extensions......................................... 38 5.3.7 Use of asterisks......................................... 39 5.3.8 Limits on markup scope..................................... 39 5.4 Debugging of problems ......................................... 39 6 Lists 41 7 Grouping 43 7.1 Modules ................................................. 43 7.2 Member Groups............................................. 45 7.3 Subpaging................................................ 47 Generated by Doxygen CONTENTS III 8 Including Formulas 49 9 Graphs and diagrams 51 10 Preprocessing 55 11 Automatic link generation 59 11.1 Links to web pages and mail addresses................................. 59 11.2 Links to classes ............................................. 59 11.3 Links to files............................................... 59 11.4 Links to functions ............................................ 59 11.5 Links to other members ......................................... 60 11.6 typedefs ................................................. 62 12 Output Formats 63 13 Searching 65 13.1 External Indexing and Searching .................................... 67 13.1.1 Introduction ........................................... 67 13.1.2 Configuring ........................................... 68 13.1.2.1 Single project index ................................ 69 13.1.2.2 Multi project index................................. 69 13.1.3 Updating the index ....................................... 70 13.1.4 Programming interface ..................................... 70 13.1.4.1 Indexer input format................................ 70 13.1.4.2 Search URL format ................................ 71 13.1.4.3 Search results format ............................... 71 14 Customizing the Output 73 14.1 Minor Tweaks .............................................. 73 14.1.1 Overall Color .......................................... 73 14.1.2 Navigation............................................ 73 14.1.3 Dynamic Content ........................................ 74 14.1.4 Header, Footer, and Stylesheet changes............................ 74 14.2 Changing the layout of pages...................................... 75 14.3 Using the XML output.......................................... 78 15 Custom Commands 79 15.1 Simple aliases.............................................. 79 15.2 Aliases with arguments ......................................... 79 15.3 Nesting custom command........................................ 80 16 Link to external documentation 81 Generated by Doxygen IV CONTENTS 17 Frequently Asked Questions 83 18 Troubleshooting 87 18.1 Known Problems............................................. 87 18.2 How to Help ............................................... 88 18.3 How to report a bug........................................... 88 II Reference Manual 89 19 Features 91 20 Doxygen usage 93 20.1 Fine-tuning the output.......................................... 93 21 Doxywizard usage 95 22 Configuration 101 22.1 Format.................................................. 101 22.2 Project related configuration options................................... 103 22.3 Build related configuration options.................................... 107 22.4 Configuration options related to warning and progress messages ................... 111 22.5 Configuration options related to the input files.............................. 112 22.6 Configuration options related to source browsing............................ 113 22.7 Configuration options related to the alphabetical class index...................... 115 22.8 Configuration options related to the HTML output............................ 115 22.9 Configuration options related to the LaTeX output............................ 123 22.10 Configuration options related to the RTF output............................. 125 22.11 Configuration options related to the man page output.......................... 126 22.12 Configuration options related to the XML output............................. 126 22.13 Configuration options related to the DOCBOOK output......................... 126 22.14 Configuration options for the AutoGen Definitions output........................ 127 22.15 Configuration options related to the Perl module output......................... 127 22.16 Configuration options related to the preprocessor............................ 127 22.17 Configuration options related to external references .......................... 128 22.18 Configuration options related to the dot tool............................... 129 22.19 Examples ................................................ 132 23 Special Commands 135 23.1 Introduction ............................................... 135 23.2 \addtogroup <name> [(title)] ...................................... 136 23.3 \callgraph ................................................ 137 23.4 \callergraph ............................................... 137 Generated by Doxygen CONTENTS V 23.5 \category <name> [<header-file>][<header-name>] ........................ 138 23.6 \class <name> [<header-file>][<header-name>] .......................... 138 23.7 \def <name> .............................................. 138 23.8 \defgroup <name> (group title)..................................... 139 23.9 \dir [<path fragment>].......................................... 139 23.10 \enum <name> ............................................. 139 23.11 \example <file-name> ......................................... 139 23.12 \endinternal ............................................... 140 23.13 \extends <name> ............................................ 140 23.14 \file [<name>].............................................. 140 23.15 \fn (function declaration)......................................... 141 23.16 \headerfile <header-file> [<header-name>].............................. 142 23.17 \hideinitializer .............................................