2017-09-07 5 views
0

Je documente un groupe de classes qui fonctionnent ensemble en utilisant Doxygen et j'ai écrit un exemple réparti sur plusieurs fichiers source (tous référencés par EXAMPLE_PATH). Plus précisément, je l'ai écrit ce qui suit:Un exemple de plusieurs fichiers source dans Doxygen

/*************************************//** 
* Some context... 
* @example Source1.cpp 
* 
* More context... 
* @example Source2.cpp 
****************************************/ 

Le problème est que la sortie est répartie en deux dans la page générée par exemple Doxygen (une page pour Source1, un autre pour Source2). Je voudrais que ce soit tous sur la même page HTML, le contexte et le code exemple comme un seul tutoriel:

Some context... 
|----------------------------------------------| 
| int main()         | 
| {           | 
| //...          | 
| }           | 
|----------------------------------------------| 

More context... 
|----------------------------------------------| 
| bool fct()         | 
| {           | 
| //...          | 
| }           | 
|----------------------------------------------| 

Est-il possible d'y arriver? J'utilise Doxygen 1.8.11.

Cordialement

+0

Peut donner un peu plus d'informations détaillées. par exemple. petit Source1.cpp et Source2.cpp (juste 1 ou 2 lignes dans les fichiers est suffisant), la sortie actuelle et la sortie que vous aimeriez avoir? Quelle version de doxygen utilisez-vous? – albert

+0

@albert vient d'être mis à jour. est-ce que cela aide? – BobMorane

+1

Je l'ai maintenant (je pense), les exemples sont présentés sur des pages séparées. Avez-vous regardé \ verbinclude et \ include, aussi \ snippet pourrait vous donner quelques possibilités? – albert

Répondre

0

J'ai trouvé une solution semi-legit: si vous ajoutez la balise @example au début et à utiliser @include s après, il fonctionne:

/*************************************//** 
* @example "My tutorial" 
* 
* Some context... 
* @include Source1.cpp 
* 
* More context... 
* @include Source2.cpp 
****************************************/ 

Cependant, en regardant à la sortie d'erreur Doxygen Je reçois le message suivant: warning: included file My is not found. Check your EXAMPLE_PATH

La solution n'est pas propre, mais elle est utilisable pour le moment. Si vous avez une meilleure suggestion (par exemple, un avertissement supprimé), veuillez le partager et je l'accepterai.

+0

Contrairement à la documentation, il semble que si vous omettez le nom du fichier, il ne génère pas d'avertissement. Ce qui est réellement rétribué est quelque chose comme \ exemple cet "en-tête". – albert

+0

@albert J'ai essayé cela et il semble que si vous omettez le nom du fichier, Doxygen suppose que le nom du fichier est le nom du fichier courant (où se trouve le code ci-dessus). Si vous avez du code dans ce fichier qui n'est pas lié, il sera inclus. – BobMorane