At Sat, 19 Jan 2019 12:24:33 -0500 Richard Damon <rich...@damon-family.org> 
wrote:

> 
> On 1/19/19 10:03 AM, Hans wrote:
> > Hi,
> >
> >
> > I have a largish project, consisting of 12 libraries and 50 or so
> > executables. Some of the executables declare 'duplicate' class names -
> > they are not real duplicates, of course, since they are never linked
> > together, but the same name is still find in several places. How do I
> > tell Doxygen that symbols from two executables really refer to two
> > different things?
> >
> > For example, foo.exe contains class MainWindow. bar.exe also contains
> > class MainWindow, but of course it is a different thing altogether.
> > Can I somehow get Doxygen to keep them separate in the output?
> >
> > I don't want to run Doxygen 50 times, once for each executable. It
> > would be incredibly slow, and take up a huge amount of diskspace.
> >
> >
> > Thanks in advance!
> >
> > H. Guijt
> >
> That isn't really how Doxygen is intended to be used from what I know,
> but one way around it would be for each executable to place its
> duplicates in a unique namespace (perhaps named for the executable), and
> then Doxygen would document each in its own namespace, and not see them
> as duplicates. The header declaring the class could even than bring the
> name into the global namespace so most of the program doesn't need to
> see the difference.

I'm presuming these classes are not actually in a public API library -- either
they are defined in "private" header files (header files only ever included in
the corresponding to the C++ main for the exe in question) or defined directly
in the C++ files specific to the exe in question). It might also make sense to
NOT use "correct" Doxygen commentting -- include comments of course, but not
formatted in a way that Doxygen recognizes (eg replace /** with /*+, etc.) --
Doxygen won't pick them up and won't document them (and won't get confused or
create confusing documentation). Since they don't document a public API, there
is no harm. Or don't actually feed the "private" header files or C++ source
code to Doxygen (unless you are using the C++ main program to create man1 or
man8 pages, or something like that -- eg program usage docs).

As Richard says "That isn't really how Doxygen is intended to be used...", you
probably *don't* want to "document" a non-public API, which is what these
classes sound like what they are. Doxygen is meant to document *public* APIs
(programs, classes, functions, etc.) that will be called by programs written
by other people, who would then link with your library or run your main 
programs (your .exe files).

-- 
Robert Heller             -- 978-544-6933
Deepwoods Software        -- Custom Software Services
http://www.deepsoft.com/  -- Linux Administration Services
hel...@deepsoft.com       -- Webhosting Services
                                                                                
                         


_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to