This section is divided into the following subsections:
If you downloaded the source distribution, you need at least the following to build the executable:
gunzip doxygen-$VERSION.src.tar.gz # uncompress the archive tar xf doxygen-$VERSION.src.tar # unpack it
sh ./configure
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
See the PLATFORMS
file for a list of possible platform options.
If you have Qt-2.1.x installed and want to build the GUI front-end, you should run the configure script with the --with-doxywizard
option:
configure --with-doxywizard
For an overview of other configuration options use
configure --help
make
The program should compile without problems and three binaries (doxygen
, doxytag
, and doxysearch
) should be available in the bin directory of the distribution.
make docs
To let doxygen generate the HTML documentation.
sed
for this, but this should be available on any Unix platform.
index.html
in the html directory).
latex
and dvips
and the ghostscript package for this).
make pdf
The PostScript manual doxygen_manual.ps
will be located in the latex directory of the distribution. Just send it to a PostScript printer to print it or use ghostview
to view it.
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
Alternatively, you can also copy the binaries from the
Qt problems
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 /usr/lib).
The solution: go to the root of the doxygen distribution and do:
If you have a csh-like shell you should use
Now install doxygen as described above.
Latex problems
The file
HP-UX & Digital Unix problems
If you are compiling for HP-UX with aCC and you get this error:
If that does not help, try removing
If you are compiling for Digital Unix, the same problem can be solved (according to Barnard Schmallhof) by replacing the following in ce_parse.cpp:
with
Alternatively, one could fix the problem at the bison side. Here is patch for bison.simple (provided by Andre Johansen):
The generated scanner.cpp that comes with doxygen is build with this patch applied.
Sun compiler problems
I tried compiling doxygen only with Sun's C++ WorkShop Compiler version 5.0 (I used
Qt-2.x.y is required for this compiler (Qt-1.44 has problems with the bool type).
Compiling the
These are generated because the compiler is confused about the object sharing between
when configuring with
Manually adding
GNU 2.7.2.x 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.
Currently, I have only compiled doxygen for Windows using Microsoft's Visual C++ (version 6.0). For other compilers you may need to edit the perl script in
Since Windows comes without all the nice tools that Unix users are used to, you need to install a number of these tools before you can compile doxygen for Windows.
Here is what is required:
The good, tested, and free alternative is the
Borland C++ or MINGW (see http://www.mingw.org/) are also supported.
Alternatively, you can also choose to download only a small subset of the cygwin tools that I put together just to compile doxygen.
Make sure the
Also make sure the tools are available from a dos box, by adding the directory they are in to the search path.
For those of you who are very new to cygwin (if you are going to install it from scratch), you should notice that there is an archive file
For doxywizard, a complete Qt library is still a requirement however. You may be interested in the professional license of Qt for Windows . If you donate me a professional license I'll port doxywizard for you :-)
Make sure the tools are available from a dos box, by adding the directory they are in to the search path.
For your information, the LaTeX is freely available set of so called macros and styles on the top of the famous TeX program (by famous Donald Knuth) and the accompanied utilities (all available for free). It is used for high quality typesetting. The result -- in the form of so called
If you want to use MikTeX then you need to download the fancyhdr package separately. You can find it at: ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/supported/fancyhdr/
Notice: The use of LaTeX is optional and only needed for compilation of the documentation into PostScript or PDF. It is not needed for compiling the doxygen's binaries.
This should build the executables
You can use also the
The generated HTML docs are located in the
The sources for LaTeX documentation are located in the
There is no fancy installation procedure at the moment (if anyone wants to add it please let me know).
To install doxygen, just copy the binaries from the
Doxygen was developed and tested under Linux using the following open-source tools:
<prefix>/bin
. Use make install_docs to install the documentation and examples into
<docdir>/doxygen
.
<prefix>
defaults to /usr 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.
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.
Known compilation problems for Unix
mkdir qt
cd qt
ln -s your-qt-include-dir-here include
ln -s your-qt-lib-dir-here lib
export QTDIR=$PWD
setenv QTDIR $PWD
instead of the export
command above.
a4wide.sty
is not available for all distributions. If your distribution does not have it please select another paper type in the config file (see the PAPER_TYPE tag in the config file).
/opt/aCC/lbin/ld: Unsatisfied symbols:
alloca (code)
ce_parse.cpp
and replace
extern "C" {
void *alloca (unsigned int);
};
#include <alloca.h>
ce_parse.cpp
and let bison rebuild it (this worked for me).
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
#include <alloca.h>
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi) || defined (__osf__)
#include <alloca.h>
--- bison.simple~ Tue Nov 18 11:45:53 1997
+++ bison.simple Mon Jan 26 15:10:26 1998
@@ -27,7 +27,7 @@
#ifdef __GNUC__
#define alloca __builtin_alloca
#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi) || defined (__alpha)
#include <alloca.h>
#else /* not sparc */
#if defined (MSDOS) && !defined (__TURBOC__)
./configure --platform solaris-cc
)
doxygen
binary went ok, but while linking doxytag
I got a lot of link errors, like these:
QList<PageInfo>::__vtbl /home/dimitri/doxygen/
objects/SunWS_cache/CC_obj_6/6c3eO4IogMT2vrlGCQUQ.o
[Hint: try checking whether the first non-inlined, non-pure
virtual function of class QList<PageInfo> is defined]
doxygen
and doxytag
. To compile doxytag
and doxysearch
anyway do:
rm -rf objects
mkdir objects
cd src
gmake -f Makefile.doxytag
gmake -f Makefile.doxysearch
--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
and Makefile.doxytag
will fix this:
$(TARGET): $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic
--english-only
option.
Compiling from source on Windows
wintools/make.pl
a bit. Let me know what you had to change if you got Doxygen working with another compiler.
Compilation is now done by performing the following steps:
tar
utility supplied with cygwin tools. Anyway, the cygwin's flex, bison, and sed are also recommended below.
vcvars32.bat
batch file to set the environment variables (if you did not select to do this automatically during installation).
BISONLIB
environment variable points to the location where the files bison.simple
and bison.hairy
are located. For instance if these files are in c:\tools\cygwin\share
then BISONLIB should be set to //c/tools/cygwin/share/
bootstrap.zip
which also contains the tar
utility (tar.exe
), gzip
utilities, and the cygwin1.dll
core. This also means that you have the tar
in hands from the start. It can be used to unpack the tar source distribution instead of using WinZip -- as mentioned at the beginning of this list of steps.
latex
, dvips
and gswin32
. To get these working under Windows install the fpTeX distribution. You can download it at: http://www.ese-metz.fr/~popineau/fptex/wwwfptex.html
DVI
(DeVice Independent) file -- can be printed or displayed on various devices preserving exactly the same look up to the capability of the device. The dvips
allows you to convert the dvi
to the high quality PostScript (i.e. PostScript that can be processed by utilities like psnup
, psbook
, psselect
, and others). The derived version of TeX (the pdfTeX) can be used to produce PDF output instead of DVI, or the PDF can be produced from PostScript using the utility ps2pdf
.
objects
and bin
manually in the root of the distribution before compiling.
. Needed for the include dependency graphs, the graphical inheritance graphs, and the collaboration graphs.
nmake
, latex
, gswin32
, dvips
, sed
, flex
, bison
, cl
, rm
, and perl
), are accessible from the command-line (add them to the PATH environment variable if needed).
make.bat msvc
doxygen.exe
, doxytag.exe
, and doxysearch.exe
using Microsoft's Visual C++ compiler (The compiler should not produce any serious warnings or errors).
bcc
argument to build executables using the Borland C++ compiler, or mingw
argument to compile using GNU gcc.
examples
subdirectory and type:
nmake
doc
subdirectory and type:
nmake
..\html
subdirectory.
..\latex
subdirectory. From those sources, the DVI, PostScript, and PDF documentation can be generated. Installating the binaries on Windows
bin
directory to a location somewhere in the path. Alternatively, you can include the bin
directory of the distribution to the path.
Go to the next section or return to the
index.
Generated at Wed Aug 1 14:37:52 2001 for Doxygen manual by
1.2.9 written by Dimitri van Heesch,
© 1997-2001