2012-03-22 6 views
7

Ho un progetto C che documento con doxygen. Uso anche graphviz per generare diagrammi di collaborazione per le mie strutture. Il problema è che per le strutture, che i loro membri sono semplici tipi (int, float, ecc.) Oi loro membri sono definiti al di fuori del progetto (e inclusi tramite un file di inclusione) non viene generato alcun diagramma di collaborazione.Generare diagrammi di collaborazione per strutture con membri di tipo semplice

Come posso forzare doxygen per generare un diagramma per tali strutture?

Per esempio, dire che ho la seguente struttura:

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

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

Se si dispone di una struttura come questa, Doxygen non genererà un diagramma di collaborazione (che fornirà una voce di documentazione per la struct però). Come posso costringerlo a crearne uno e mostrare che è una struttura di due interi?

+1

Non sono sicuro seguo esattamente, ma sono le strutture che si sta tentando di generare diagrammi di collaborazione per documentato a tutti? Altrimenti, dovrai impostare l'opzione del file di configurazione 'EXTRACT_ALL' su' SÌ'. – Chris

+0

La struttura è documentata da Doxygen. Il problema è che Doxygen non genera un diagramma di collaborazione per questo. Ho altre strutture più complesse nel mio progetto (vale a dire strutture che i loro membri sono anche strutture documentate) che ottengono un diagramma di collaborazione. – Kostas

+0

Per quanto ne so, doxygen genera solo [grafici di collaborazione] (http://www.stack.nl/~dimitri/doxygen/config.html#cfg_collaboration_graph) per ogni * classe *, non * structs *. Le strutture appariranno nel diagramma solo se sono membri di una o più classi (vedi la figura 1 di [questo] (http://www.ibm.com/developerworks/aix/library/au-learningdoxygen/) tutorial. non provate ad aggiungere comandi ['\ callgraph'] (http://www.stack.nl/~dimitri/doxygen/commands.html#cmdcallgraph) e' \ callergraph' nella vostra documentazione di struct. – Chris

risposta

9

con le seguenti impostazioni doxygen produrranno un diagramma di collaborazione per la struttura di cui sopra:

HAVE_DOT    = YES 
COLLABORATION_GRAPH = YES 
HIDE_UNDOC_RELATIONS = NO 
+0

Questo ha funzionato. Grazie. – Kostas

Problemi correlati