Questions tagged [doxygen]

Doxygen is a multilanguage documentation generation application for C++, C, Java, Objective-C, Python, IDL, Fortran, VHDL, PHP and C# that supports a wide variety of output formats including RTF, HTML, XML and PDF.

Doxygen is a documentation generation application written by Dimitri van Heesch that supports a wide variety of output formats including RTF, HTML, XML and PDF. It supports code in C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. It is available for Linux, MacOS and Windows. The application is licenced under the GNU General Public License.

Features of Doxygen

  • Generate documentation in various formats including HTML, XML, LaTex, Man Pages, RTF and PDF.
  • Finegrained configuration possibilities to decide what parts of the code is included in the documentation.
  • Extract the code structure from documented or undocumented source files.
  • A number of different diagrams such as dependency graphs, inheritance diagrams and collaboration diagrams can be generated.
  • Additional documentation pages such as overview, howtos etc. can be included in the documentation structure.
  • Tight integration with the .dot graphic tool enables quick graphing utilities for state diagrams etc.

See Also

2807 questions
191
votes
4 answers

What are the new documentation commands available in Xcode 5?

One of Xcode 5's new features is the ability to document your own code with a special comment syntax. The format is similar to doxygen, but appears to only support a subset of those features. Which commands are supported, and which ones aren't? Do…
Senseful
  • 73,679
  • 56
  • 267
  • 405
129
votes
4 answers

C++ project organisation (with gtest, cmake and doxygen)

I am new to programming in general so I decided that I would start by making a simple vector class in C++. However I would like to get in to good habits from the start rather than trying to modify my workflow later on. I currently have only two…
rozzy
  • 2,598
  • 5
  • 21
  • 33
111
votes
6 answers

How to make an introduction page with Doxygen

I made documentation for my SDK, using Doxygen. It contains the list of files, namespaces, classes, types etc. - everything that I placed as Doxygen comments in the code. Now I want to write some general information about SDK (kind of introduction),…
Alex F
  • 39,172
  • 34
  • 138
  • 200
105
votes
8 answers

Where to put the doxygen comment blocks for an internal library - in H or in CPP files?

The common sense tells that the Doxygen comment blocks have to be put in the header files where the classes, structs, enums, functions, declarations are. I agree that this is a sound argument for a libraries that are mean to be distributed without…
Singulus
  • 1,828
  • 2
  • 16
  • 15
99
votes
6 answers

How to use doxygen to create UML class diagrams from C++ source

I have been searching for some material that describes how to generate simple class diagrams with doxygen, but couldn't find one. Can anybody help? I need to create diagrams as shown below from a set of C++ files. If there are better tools to…
softwarematter
  • 25,053
  • 59
  • 155
  • 250
97
votes
5 answers

How to document Python code using Doxygen

I like Doxygen to create documentation of C or PHP code. I have an upcoming Python project and I think I remember that Python doesn't have /* .. */ comments, and also has its own self-documentation facility which seems to be the pythonic way to…
Hanno Fietz
  • 28,803
  • 43
  • 134
  • 232
96
votes
7 answers

pagebreak in markdown while creating pdf

I am creating a pdf of markdown text file using doxygen (1.8.6). Now I want to get page break at specific stage in markdown file, I used this link. In the given link they have mentioned to use '>' for line break. But they haven't mentioned about…
user2760375
  • 1,758
  • 1
  • 19
  • 28
91
votes
1 answer

Using roxygen2 and doxygen on the same package?

I have an R package that uses roxygen2. It has some C code in /src, and I have just started working with Doxygen. Are there any ways to combine the documentation, or integrate compiling with roxygen2? Any "best practices" for where to put the C code…
Abe
  • 10,626
  • 12
  • 42
  • 70
74
votes
3 answers

Objective-C Documentation Generators: HeaderDoc vs. Doxygen vs. AppleDoc

I need to implement a documentation generation solution for my workplace and have narrowed it down to the three mentioned in the title. I have been able to find very little information in the way of formalized comparisons between these solutions,…
KeithComito
  • 1,389
  • 1
  • 13
  • 24
66
votes
4 answers

Doxygen vs Javadoc

I just realized from an article in CACM that Doxygen works with Java (and several other languages) too. But Java has already the Javadoc tool. Can someone explain what are the pros and cons of either approach? Are they mutually exclusive? Is there a…
lindelof
  • 31,966
  • 30
  • 87
  • 133
66
votes
3 answers

What's the right way to reference a parameter in Doxygen?

I have the following Doxygen documentation for a function: /** @brief Does interesting things @param[in] pfirst The first parameter: a barrel full of monkeys @pre "pfirst" must have been previously passed through BarrelFiller() */ Note…
Richard
  • 44,865
  • 24
  • 144
  • 216
64
votes
2 answers

How to document C++ templates and template metafunctions with doxygen?

Are there any guidelines on how C++ templates and template meta-functions should be documented with Doxygen? For example: /// @brief metafunction for generation of a map of message types to /// their associated callbacks. /// @tparam Seq the list of…
mark
  • 6,939
  • 5
  • 34
  • 54
53
votes
2 answers

Use the README.md file as main page in Doxygen

The documentation of Doxygen states, that I can use PHP Markdown Extra title labelling in a markdown file, but neither # Main Page # {#mainpage} nor # Main Page # {#index} works, but the label is not present in the output as plain text either.…
Adam L. S.
  • 693
  • 1
  • 6
  • 12
51
votes
3 answers

Excluding directories for Doxygen

I want Doxygen to ignore, bypass, not search the following directories of my project: */.svn/* */docs/* */Properties/* */bin/* According to the Doxygen FAQ: How can I exclude all test directories from my directory tree? Simply put an exclude…
Thomas Matthews
  • 52,985
  • 12
  • 85
  • 144
51
votes
5 answers

How to include custom files in Doxygen

I would like to add custom (non-project) files to generate some extra pages with Doxygen. I am (was actually) unsure how these files should be named and how their content should be formatted.
Veger
  • 34,172
  • 10
  • 101
  • 111
1
2 3
99 100