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

3108 questions
54
votes
5 answers

how to get doxygen to produce call & caller graphs for c functions

I've spent some time reviewing the docs and going through my doxy config file from end to end. I cut doxygen loose on my config file and it produces documentation and indices for structs and cpp classes but I don't see call or caller graphs for the…
user501138
  • 869
  • 2
  • 9
  • 16
54
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
  • 37,240
  • 11
  • 105
  • 116
54
votes
7 answers

Can I have my GitHub Pages index.html in a subfolder of the repository?

I'm trying to use GitHub pages to host a Doxygen site. Ideally, I'd like to be able to push the generated files and directories to GitHub without having to tweak them at all. This, however, means that my index.html is in a subfolder of the…
false_azure
  • 1,333
  • 4
  • 25
  • 46
53
votes
4 answers

Graphviz + Doxygen to generate UML class diagrams

I want to use Graphviz + Doxygen to generate a class diagram based on C++ code. This works already as Doxygen comes with a native DOT support; but is it possible, to produce a UML-like output with the corresponding access modificators (public,…
Eric
  • 1,594
  • 1
  • 15
  • 29
51
votes
5 answers

Documenting C++/CLI library code for use from c# - best tools and practices?

I'm working on a project where a c++/cli library is being used primarily from a c# application. Is there any way to make the code comments in c++/cli visible to c# intellisence within visual studio? Assuming there isn't, what would be the best way…
Hrvoje Prgeša
  • 2,051
  • 5
  • 21
  • 36
49
votes
5 answers

Doxygen \cite producing empty bibliography

I'm trying to use \cite in Doxygen to produce a bibliography page and also a reference within my text. I have bibtex in my search path and a proper .bib file. I have added the .bib file to CITE_BIB_FILES and am using a proper BibTex label found in…
user1401630
  • 901
  • 1
  • 9
  • 12
47
votes
4 answers

Why does a C comment like /* */ need '<'?

My teams C-code guidelines write that it'd be better to place a '<' in a comment like shown below: #define MAX_PACK_ITEM_NUM 50 /**< max number of item */ I wonder, what is the real use of this '<' ?
kingkai
  • 3,669
  • 3
  • 19
  • 13
47
votes
6 answers

How to get a single PDF document from Doxygen?

When I generate Doxygen documentation in PDF format, I get plenty of different files with a single diagram in each. Is it possible to obtain a single PDF document, organized as a book, roughly as the HTML version? Is it possible to get it…
Pietro
  • 12,086
  • 26
  • 100
  • 193
46
votes
4 answers

How to integrate examples with Doxygen?

I documented all of my classes and now I want to integrate an example of how to use these classes. How do I do that?
Tobi Weißhaar
  • 1,617
  • 6
  • 26
  • 35
46
votes
3 answers

Documenting enum values with doxygen

Given: namespace Foo { class Foo { public: /// Foo enum, possible ways to foo enum class Foo { /// Foo it with an A A, /// Foo it with a B B, /// Foo it with a C …
ember arlynx
  • 3,129
  • 2
  • 20
  • 22
45
votes
3 answers

Custom tags with Doxygen

I am trying to figure out if there is a way to create a custom tag using Doxygen. I did find the ALIAS configuration file option but that does not do exactly what I need. Basically in my code I want to be able to write something like /// \req…
RishiD
  • 2,098
  • 2
  • 26
  • 24
44
votes
2 answers

Is Sphinx already suitable for C++ documentation?

I want to try out documentation generators for a new project in C++. I think my options are either Doxygen or Sphinx. Since I have projects in Python for which I'd like to use Sphinx, I wonder whether Sphinx is the right choice for C++ as well. The…
clstaudt
  • 21,436
  • 45
  • 156
  • 239
43
votes
1 answer

How can I make doxygen create full inheritance diagrams across multiple projects?

When using doxygen to generate C++ inheritance diagrams, I've noticed that the diagrams can be incomplete. If several projects are documented using tag files to allow cross-referencing, doxygen will successfully show all base classes that exist in…
Drew Dormann
  • 59,987
  • 13
  • 123
  • 180
40
votes
3 answers

Specify Doxygen parameters through command line

Well I am creating a script to automatically generate documentation for my projects with Doxygen, which seems like an awesome tool. What is not clear to me, is if the user can use specify directly parameters, such as project name, project…
Potney Switters
  • 2,902
  • 4
  • 33
  • 51
37
votes
2 answers

How to document all exceptions a function might throw?

If you have a public function which may throw an exception which uses other (private or public) helper functions which can also throw exceptions I think you should document what exceptions the public function can throw and this includes exceptions…
rve
  • 5,897
  • 3
  • 40
  • 64