2012-03-22 10 views
7

Tengo un proyecto C que doblo con doxygen. También uso graphviz para generar diagramas de colaboración para mis estructuras. El problema es que para las estructuras, cuyos miembros son tipos simples (int, float, etc.) o sus miembros se definen fuera del proyecto (y se incluyen a través de un archivo de inclusión), no se genera ningún diagrama de colaboración.Generar diagramas de colaboración para estructuras con miembros de tipo simple

¿Cómo puedo obligar a Doxygen a generar un diagrama para esas estructuras?

Por ejemplo, decir que tengo la siguiente estructura:

/** This is my simple struct. */ 
typedef struct 
{ 
    /** A member */ 
    int a_member; 

    /** Another member */ 
    int another_member; 
} my_simple_struct_t; 

Si usted tiene una estructura como esta, Doxygen no va a generar un diagrama de colaboración (que proporcionará una entrada de documentación de la estructura sin embargo). ¿Cómo puedo forzarlo a crear uno y mostrar que es una estructura de dos enteros?

+1

No estoy seguro de entender exactamente, pero son las estructuras que están tratando de generar diagramas de colaboración para documentada en absoluto? Si no, tendrá que establecer la opción del archivo de configuración 'EXTRACT_ALL' en' SÍ'. – Chris

+0

La estructura está documentada por Doxygen. El problema es que Doxygen no genera un diagrama de colaboración para ello. Tengo otras estructuras más complejas en mi proyecto (es decir, estructuras cuyos miembros también son estructuras documentadas) que sí obtienen un diagrama de colaboración. – Kostas

+0

Por lo que sé, doxygen solo genera [gráficos de colaboración] (http://www.stack.nl/~dimitri/doxygen/config.html#cfg_collaboration_graph) para cada * clase *, no * estructura *. Las estructuras solo aparecerán en el diagrama si son miembros de una o más clases (consulte la figura 1 de [este] (http://www.ibm.com/developerworks/aix/library/au-learningdoxygen/) tutorial. no intentes agregar comandos ['\ callgraph'] (http://www.stack.nl/~dimitri/doxygen/commands.html#cmdcallgraph) y' \ callergraph' en tu documentación de estructura. – Chris

Respuesta

9

con la siguiente configuración Doxygen producirán un diagrama de colaboración para la estructura anterior:

HAVE_DOT    = YES 
COLLABORATION_GRAPH = YES 
HIDE_UNDOC_RELATIONS = NO 
+0

Esto funcionó. Gracias. – Kostas

Cuestiones relacionadas