![]() |
latest release v1.6.1 - last page update 11 Nov 2009 |
InstallationFirst go to the download page to get the latest distribution, if you did not have it already. This section is divided into the following sections:
Compiling from source on UnixIf you downloaded the source distribution, you need at least the following to build the executable:
To take full advantage of doxygen's features the following additional tools should be installed.
Compilation is now done by performing the following steps:
Installing the binaries on UnixAfter the compilation of the source code do a
./configure
make install
Binaries are installed into the directory
Alternatively, you can also copy the binaries from the
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 UnixQt 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: mkdir qt cd qt ln -s your-qt-include-dir-here include ln -s your-qt-lib-dir-here lib export QTDIR=$PWD If you have a csh-like shell you should use Now install doxygen as described above. Bison problems 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). Latex problems The file HP-UX & Digital Unix problems If you are compiling for HP-UX with aCC and you get this error:
/opt/aCC/lbin/ld: Unsatisfied symbols:
alloca (code)
then you should (according to Anke Selig) edit
extern "C" {
void *alloca (unsigned int);
};
with
#include <alloca.h>
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:
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
#include <alloca.h>
with
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi) || defined (__osf__)
#include <alloca.h>
Alternatively, one could fix the problem at the bison side. Here is patch for bison.simple (provided by Andre Johansen):
--- 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__)
The generated scanner.cpp that comes with doxygen is build with this patch applied. Sun compiler problems It appears that doxygen doesn't work properly if it is compiled with Sun's C++ WorkShop 6 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 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) Manually adding
$(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. Dot problems 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 export LANG= before running make. Compiling from source on WindowsFrom version 1.5.0 onwards, build files are provided for Visual Studio 2005. 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. Before you can compile doxygen you need to download and install the C++ compiler of Visual Studio. Since Microsoft apparently wants to lure everyone into using their .NET stuff, they made things somewhat difficult when you use the Express version. You need to do some manual steps in order to setup a proper working environment for building native win32 applications such as Doxygen. The next step is to install unxutils (see http://sourceforge.net/projects/unxutils). This packages contains the tools Now you need to add/adjust the following environment variables (via Control Panel/System/Advanced/Environment Variables):
Download doxygen's source tarball and put it somewhere (e.g use Now start a new command shell and type cd c:\tools gunzip doxygen-x.y.z.src.tar.gz tar xvf doxygen-x.y.z.src.tar to unpack the sources. Now your environment is setup to build Inside the Note that compiling Doxywizard currently requires Qt version 3 (see http://www.trolltech.com/products/qt/qt3). If you do not have a commercial license, you can build Doxywizard with the open source version (see http://qtwin.sourceforge.net/qt3-win32/compile-msvc-2005.php), but I have not tried this myself. Also read the next section for additional tools you may need to install to run doxygen with certain features enabled. Installing the binaries on WindowsDoxygen 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.8 or better is highly recommended). Doxygen can use the If you want to produce compressed HTML files (see GENERATE_HTMLHELP) in the config file, then you need the Microsoft HTML help workshop. You can download it from Microsoft. If you want to produce Qt Compressed Help files (see QHG_LOCATION) in the config file, then you need qhelpgenerator which is part of Qt. You can download Qt from Qt Software Downloads. In order to generate PDF output or use scientific formulas you will also need to install LaTeX and Ghostscript. For LaTeX a number of distributions exists. Popular onces that should work with doxygen are MikTex and XemTex. 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. Tools used to develop doxygenDoxygen was developed and tested under Linux & MacOSX using the following open-source tools:
|
|