First go to the download page to get the latest distribution, if you did not downloaded doxygen already.
If you downloaded the source distribution, you need at least the following to build the executable:
GNU make, and
Makefilefor your platform, you need perl
sed, date, find, uname, mv, cp, cat, echo, tr, cdand
To take full advantage of doxygen's features the following additional tools should be installed.
Compilation is now done by performing the following steps:
Unpack the archive, unless you already have done that:
gunzip doxygen-$VERSION.src.tar.gz # uncompress the archive tar xf doxygen-$VERSION.src.tar # unpack it
Run the configure script:
The script tries to determine the platform you use, the make tool (which must be GNU make) and the perl interpreter. It will report what it finds.
To override the auto detected platform and compiler you can run configure as follows:
configure --platform platform-type
PLATFORMS file for a list of possible platform options.
If you have Qt-4.3 or higher installed and want to build the GUI front-end, you should run the configure script with the
For an overview of other configuration options use
Compile the program by running make:
The program should compile without problems and the binaries (
doxygen and optionally
doxywizard) should be available in the bin directory of the distribution.
Optional: Generate the user manual.
To let doxygen generate the HTML documentation.
The HTML directory of the distribution will now contain the html documentation (just point a HTML browser to the file
index.html in the html directory). You will need the
python interpreter for this.
Optional: Generate a PDF version of the manual (you will need
egrep for this).
The PDF manual
doxygen_manual.pdf will be located in the latex directory of the distribution. Just view and print it via the acrobat reader.
After the compilation of the source code do a
make install to install doxygen. If you downloaded the binary distribution for UNIX, type:
./configure make install
Binaries are installed into the directory
make install_docs to install the documentation and examples into
<prefix> defaults to
/usr/local but can be changed with the
–prefix option of the configure script. The default
<docdir> directory is
<prefix>/share/doc/packages and can be changed with the
–docdir option of the configure script.
Alternatively, you can also copy the binaries from the
bin directory manually to some
bin directory in your search path. This is sufficient to use doxygen.
If you have a RPM or DEP package, then please follow the standard installation procedure that is required for these packages.
The Qt include files and libraries are not a subdirectory of the directory pointed to by
QTDIR on some systems (for instance on Red Hat 6.0 includes are in
/usr/include/qt and libs are in
The solution: go to the root of the doxygen distribution and do:
mkdir qt cd qt ln -s your-qt-include-dir-here include ln -s your-qt-lib-dir-here lib ln -s your-qt-bin-dir-here bin export QTDIR=$PWD
If you have a
csh-like shell you should use
setenv QTDIR $PWD instead of the
export command above.
Now install doxygen as described above.
Versions 1.31 to 1.34 of
bison contain a "bug" that results in a compiler errors like this:
ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with constructor not allowed in union
This problem has been solved in version 1.35 (versions before 1.31 will also work).
Sun compiler problems
It appears that doxygen doesn't work properly if it is compiled with Sun's C++ WorkShop Compiler. I cannot verify this myself as I do not have access to a Solaris machine with this compiler. With GNU compiler it does work and installing Sun patch 111679-13 has also been reported as a way to fix the problem.
when configuring with
--static I got:
Undefined first referenced symbol in file dlclose /usr/lib/libc.a(nss_deffinder.o) dlsym /usr/lib/libc.a(nss_deffinder.o) dlopen /usr/lib/libc.a(nss_deffinder.o)
-Bdynamic after the target rule in
Makefile.doxygen will fix this:
$(TARGET): $(OBJECTS) $(OBJMOC) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic
GCC compiler problems
Older versions of the GNU compiler have problems with constant strings containing characters with character codes larger than 127. Therefore the compiler will fail to compile some of the translator_xx.h files. A workaround, if you are planning to use the English translation only, is to configure doxygen with the
On some platforms (such as OpenBSD) using some versions of gcc with -O2 can lead to eating all memory during the compilation of files such as config.cpp. As a workaround use –debug as a configure option or omit the -O2 for the particular files in the Makefile.
Gcc versions before 2.95 may produce broken binaries due to bugs in these compilers.
Due to a change in the way image maps are generated, older versions of doxygen (<=1.2.17) will not work correctly with newer versions of graphviz (>=1.8.8). The effect of this incompatibility is that generated graphs in HTML are not properly clickable. For doxygen 1.3 it is recommended to use at least graphviz 1.8.10 or higher. For doxygen 1.4.7 or higher it is recommended to use GraphViz 2.8 or higher to avoid font issues.
Red Hat 9.0 problems
If you get the following error after running make
tmake error: qtools.pro:70: Syntax error
then first type
before running make.
From version 1.7.0 onwards, build files are provided for Visual Studio 2008. Also the free (as in beer) "Express" version of Developer Studio can be used to compile doxygen. Alternatively, you can compile doxygen the UNIX way using Cygwin or MinGW.
The next step is to install
tar (see http://gnuwin32.sourceforge.net/packages.html). This packages are needed during the compilation process if you use a CVS snapshot of doxygen (the official source releases come with pre-generated sources).
Download doxygen's source tarball and put it somewhere (e.g. use
Now start a new command shell and type
cd c:\tools tar zxvf doxygen-x.y.z.src.tar.gz
to unpack the sources.
Now your environment is setup to build
doxygen-x.y.z directory you will find a
winbuild directory containing a
Doxygen.sln file. Open this file in Visual Studio. You can now build the Release or Debug flavor of Doxygen by right-clicking the project in the solutions explorer, and selecting Build.
Note that compiling Doxywizard currently requires Qt version 4 (see http://qt-project.org/).
Also read the next section for additional tools you may need to install to run doxygen with certain features enabled.
Doxygen comes as a self-installing archive, so installation is extremely simple. Just follow the dialogs.
After installation it is recommended to also download and install GraphViz (version 2.20 or better is highly recommended). Doxygen can use the
dot tool of the GraphViz package to render nicer diagrams, see the HAVE_DOT option in the configuration file.
Ghostscript can be downloaded from Sourceforge.
After installing LaTeX and Ghostscript you'll need to make sure the tools latex.exe, pdflatex.exe, and gswin32c.exe are present in the search path of a command box. Follow these instructions if you are unsure and run the commands from a command box to verify it works.
Doxygen was developed and tested under Linux & MacOSX using the following open-source tools: