Question

I have the following Problem using doxygen in an C project. I have many internal structures that are not documented. Therefore it set EXTRACT_ALL=NO in my Doxyfile. Unfortunately doxygen still extracts some of them. Here is a minimal working example. Suppose the following header file:

#ifndef HASHTABLE_H
# define HASHTABLE_H
#ifdef __cplusplus
extern "C" {
#endif
typedef void* object;
typedef char *(*object_getname)( object obj);
typedef void (*object_free)( object obj);
typedef mess_int_t (*object_hash)( char *name,  mess_int_t size);
typedef struct  {
 hashtable_entry *next;
 object *obj;
} hashtable_entry;
typedef struct {
 object_getname name;
 object_free freigabe;
 object_hash hash;
 mess_int_t size;
 hashtable_entry **hashtable;
} hashtable_t;
typedef hashtable_t * hashtable;

#ifdef __cplusplus
}
#endif
#endif

and the following options set in the Doxyfile:

EXTRACT_ALL            = NO
EXTRACT_PRIVATE        = NO 
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = NO
EXTRACT_LOCAL_CLASSES  = NO 
EXTRACT_LOCAL_METHODS  = NO
EXTRACT_ANON_NSPACES   = NO

But in the generate Data structure list both structures are listed. Some other undocumented structures defined in the same way in other files are not listed as I expect it from the description of EXTRACT_ALL=NO. Why does doxygen extract some and others not?

The whole doxyfile is available at: http://pastebin.com/J7c9BbvW

I am using doxygen 1.8.5

Was it helpful?

Solution

The answer of the problem is, like we already discussed it in the above comments, that the following setup works:

EXPORT_ALL=NO 

in the Doxyfile prevents doxygen only extract data structures from header files instead of all source files.

Setting

HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES

disables the listing of undocumented structures in the header files.

OTHER TIPS

ENABLE_PREPROCESSING   = NO

Unfortunately, doxygen does not parse multi-including header files protect:

#ifndef HASHTABLE_H
# define HASHTABLE_H
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top