2010-10-21 15 views
6

Quindi sono nuovo nell'usare Doxygen e sono riuscito a farlo funzionare correttamente. Sono stato in grado di documentare le mie classi e le mie strutture e genera perfettamente i file HTML. Il problema che sto incontrando è che non analizzerò il mio file main.cpp. Tutte le classi e le strutture hanno i propri file .h e .cpp e funzionano bene. Come posso ottenere Doxygen per creare la documentazione per main.cpp? Non ha un file .h dato che questo è dove inizia e finisce il programma. Non saprei nemmeno cosa mettere nel file .h per main. Sto usando Doxywizard in Windows.Doxygen non elaborerà main.cpp

Edit:

ho messo questo in principale e genera una pagina principale:

/** 
@mainpage 

This is a test application. 

@author Alex 
@date 10/21/2010 
@version 1.0 
*/ 

Ma poi più in basso il file in cui i prototipi di funzione sono ho questo e non ottiene analizzati :

/** 
@brief Error handler for the PDF writer. 

It does nothing. It just has to exist. 
*/ 
void error_handler (HPDF_STATUS error_no, 
        HPDF_STATUS detail_no, 
        void   *user_data) 
{ 
} 
+0

Il principale ha bisogno di documentazione? Di solito, è solo l'impostazione di alcune cose, forse chiamando la funzione che analizza la riga di comando args, e quindi chiama qualche funzione. – delnan

+0

Probabilmente è correlato a una maschera presente nel file di configurazione di Doxygen. Puoi pubblicare il contenuto dei tuoi valori di configurazione 'INPUT' e' FILE_PATTERNS'? – ladenedge

+0

Entrambi "INPUT" e "FILE PATTERNS" sono vuoti. Fondamentalmente ho installato il programma, trovato il mio progetto e premuto "Esegui". Suppongo che il main non abbia bisogno di essere commentato, ma ci sono altre funzioni nello stesso file che sono usate e devono essere commentate. – alex

risposta

6

L'ho messo in cima a main.cpp e ha funzionato. Vai a capire.

/** 
@file main.cpp 
*/ 
+0

Lei, signore, mi ha appena salvato qualche ora in più di ricerca. Grazie mille. Hai idea del motivo per cui ha bisogno di un comando @file? – SolarBear

+1

Non importa, vedi la mia risposta qui sotto. – SolarBear

+0

Non è necessario "main.cpp". @file è abbastanza. Ne hai bisogno perché non hai alcuna classe o struttura documentata in quel file. –

2

Se INPUT e FILE_PATTERNS sono vuoti, si dovrebbe cercare i file * cpp (e molti altri modelli) nella directory corrente. (Questo dal Doxygen manual.)

Dal vostro sono vuote, mi aspetto una delle due cose sta succedendo, se non stai ricevendo la documentazione main.cpp:

  1. main.cpp non è nella corrente directory. Per escluderlo, assicurati di eseguire Doxygen dalla stessa directory come sia il tuo file di configurazione e main.cpp.
  2. C'è un errore di sintassi nella documentazione di main.cpp. Questi possono essere difficili da individuare, dato che Doxygen in genere non abortisce quando incontra un errore, ma salta semplicemente avanti. Se questo è il problema, combina l'output di Doxygen quando generi i documenti riga per riga.

Se nessuna di queste idee risolve il problema, potrebbero essere necessarie ulteriori informazioni. Uscita di ls -R, uscita della corsa di Doxygen, ecc. Buona fortuna!

+0

principale.cpp si trova nella cartella in cui Doxygen sta cercando e non mostra errori nell'output, solo gli avvisi delle altre classi che sono ancora processi correttamente. Ho aggiunto qualche informazione in più alla mia domanda sopra. – alex

1

Ho fatto qualche ricerca su questo ... Dal doxygen manual:

Importante: La documentazione delle funzioni globali, variabili, typedef, e enumerazioni saranno inclusi solo nel output se il file in cui sono è documentato anche .

Ecco qui!