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
1
vote
2 answers

How to render Doxygen xml output into markdown instead of reST (using breathe or MyST-Parser)

I am preparing a project documentation using Sphinx where to fetch Doxygen XML output I have used breathe. I am using the breathe directive in .rst files. sample.cpp namespace X{ class A{ public: int x; }; } in my rst file I just added ..…
user10634362
  • 549
  • 5
  • 21
1
vote
1 answer

Publish Doxygen docs to Azure DevOps

Our release pipeline is generating some HTML docs (currently via Doxygen) every time a PR is merged to master. As we use Azure Dev Ops it would be nice to publish the docs there (in the Wiki perhaps?). What is the easiest/most proper way to do that?
1
vote
1 answer

How to use doxygenclass directive for overloaded class template

I have two class templates and I need to document them using Sphinx. As usual, I have used the Doxygen style comment for the classes. But while I have used the doxygen directive I am not able to get the proper documentation. Sample classes namespace…
user10634362
  • 549
  • 5
  • 21
1
vote
1 answer

Doxygen reference Multiple Parameter Method with @see Tag

I am writing documentation for my iPhone app and I am running into a problem. I want to use a @see tag to reference another method in my documentation but the method has multiple parameters. I have tried including just the method name and the whole…
Stefan Bossbaly
  • 6,682
  • 9
  • 53
  • 82
1
vote
2 answers

conditional doxygen with preprocessor that adds some arguments to a function

Let's assume the following code #include #include #include /* en/disable second arg by un/commenting */ #define B_ARG_ENABLED /** * \fn add_stuff * \brief add stuff to stuff * \param a : bla bla //////#ifdef…
Guillaume D
  • 2,202
  • 2
  • 10
  • 37
1
vote
0 answers

How do you remove the breadcrumbs at the top of each page?

At the top of each class/namespace/etc page, Doxygen includes a breadcrumb trail or file reference path (whatever you want to call it). Leveraged graph from the web to show what I can't seem to remove How do I remove this? I have tried turning off…
JJT
  • 59
  • 3
1
vote
0 answers

How to add UML diagram for C++ class/ project using Sphinx

I am completely new in using Doxygen and Sphinx. Going through some resources(this, this) I have managed to kick off my initial project. But now I am trying to draw an UML diagram for my CPP classes sample.h /// Documenting Base Class class…
user10634362
  • 549
  • 5
  • 21
1
vote
0 answers

Doxygen/sphinx and forward-declared enum class

I have such code in a C++17 header file to forward-declare enums and functions: /** * @enum Code * * The Code enum is the actual place to define CORSIKA 8 particle codes. */ enum class Code : int32_t; /** * @enum PDGCode * …
Ralf Ulrich
  • 1,575
  • 9
  • 25
1
vote
2 answers

Doxygen - Create custom command

I think my question is basically the same as this one, but it didn't get a good answer: Create new custom command that will add to a section in Doxygen I pretty much want to do the same thing, I think. I want to completely duplicate the exact…
Travesty3
  • 14,351
  • 6
  • 61
  • 98
1
vote
0 answers

Doxygen doesn't generate References function call relation for class method whose object created indirectly

References to Array<>::print is missing for testTemplate in document generated for below example documentation: . #include"lib.h" using namespace std; void testTemplate(void); int main() { testTemplate(); return 0; } void…
ab inf
  • 11
  • 3
1
vote
0 answers

I ran into problems with `cmake..`

Because of some requirements, I need to install doxygen on ubuntu 12.04, but I ran into problems with cmake... The error log as follow: ~/doxygen/build$ cmake .. -- Found BISON: /usr/bin/bison (found version "2.7") -- The javacc executable not…
Kenny Pan
  • 11
  • 3
1
vote
1 answer

How to document a preprocessor definition dependent typedef using Doxygen?

Is it possible to document a typedef that depending on a preprocessor define has different types in a way that displays both alternatives in html output using Doxygen? The code I'd like to document: /** * \file */ #ifdef _WIN32 /** *…
fabian
  • 80,457
  • 12
  • 86
  • 114
1
vote
1 answer

Subgroups with the same name in different groups

I just started using Doxygen for the first time and ran into the following problem: I'm trying to create multiple subgroups with the same name like this: - Group 1 - Constructors - Other - Group 2 - Constructors - Other Instead what…
Dóri
  • 13
  • 4
1
vote
1 answer

How can I Doxygen Fortran main program?

I have a very short program: !> This is a test. program main implicit none integer :: i real :: a !> THIS IS A LOOP! do i = 1,10 a = 2.0*i write(*,*) a end do end program main But in the generated Doxygen…
1
vote
1 answer

Doxygen - documenting X Macro

I'm using Doxygen version 1.8.11 and trying to doc my X macro: #define COLOR_VARIABLES\ COLOR__X(RED /*!< "RED COLOR" */)\ COLOR__X(BLUE /*!< "BLUE COLOR" */)\ Then I use it in an enum: /** COLOR doc */ typedef enum { #define COLOR__X(name)…
Gald
  • 11
  • 2