Forum: PC-Programmierung Doxygen docu mit \incude oder\includedoc


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe damit begonnen bei einem schon bestehendes Programm die 
Funktionskommentare  auf doxygen umzustellen. Das klappt eigentlich ganz 
gut  Für eine Einführung habe ich mit \page \tableofcontents und 
\section eine mehrseitige Beschreibung angelegt die auch Code Schnipsel 
enthält.
Das wird soweit auch alles korrekt dargestellt Auf die Dauer ist es mir 
aber zu unübersichtlich diesen Teil im Quellcode zu halten. Ich habe 
deshalb diese Page in ein extra File ausgelagert und dieses mit 
\includedoc ins c File eingebunden.
Das funktioniert nicht so wie ich mir das vorstelle. Nach dem ersten tag 
(in meinem Fall \tableofcontents) wird der Rest des Texts ignoriert. Es 
scheint so zu sein das in include Files
Die doxygen formatieren nicht funktionieren. Auch andere Varianten von 
\include erzeugen nicht das gewünschte Ergebnis.
Gibt es einen anderen Weg umfangreiche doxygen Kommentare in externe 
Files auszulagern?
Ist das überhaupt der richtige Weg files per\include so einzubinden?

Vielleicht hab ich auch nur was übersehen.

Thomas

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Also \include parst den Inhalt nicht, sondern geht davon aus, dass es 
Beispiel-Code ohne eigene Doxygen-Kommentare ist, bzw. dessen Kommentare 
nicht weiter geparst werden sollen.
\includedoc sollte aber laut Handbuch eigentlich das tun, was du willst. 
Hast du mal ein kurzes Beispiel für etwas, das deiner Meinung nach tun 
sollte, aber nicht tut?

von W.A. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas schrieb:
> Gibt es einen anderen Weg umfangreiche doxygen Kommentare in externe
> Files auszulagern?

#include <xxx.xxx> wird immer funktionieren.

von tictactoe (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wozu \includedoc? Lagere es in eine .h-Datei aus, die von keiner 
Source-Datei inkludiert wird, aber von INPUT und FILE_PATTERN in 
Doxyfile erfasst wird.

von Vincent H. (vinci)


Bewertung
0 lesenswert
nicht lesenswert
Einige Features von Doxygen verlangen, dass jede Datei via
1
/// \file  filename.h

dokumentiert wird. Ich glaub ein reines \file geht auch, da bin ich mir 
aber grad nicht sicher. Innerhalb jener Datein lässt sich dann wie du 
bereits erkannt hast via \page eine neue Seite anlegen.

Um die erstellten Seiten in der Leftbar nach meinen Vorstellungen zu 
sortieren nutze ich dann meist \subpage. Dabei erstell ich eine Page die 
in einem Table eine Übersicht aller Subpages enthält. Die Reihenfolge im 
Table forciert dann die Reihenfolge in der Leftbar.
1
/// \page page_contents Contents
2
/// | Page           | Content |
3
/// | -------------- | ------- |
4
/// | \subpage page0 | Page0   |
5
/// | \subpage page1 | Page1   |
6
/// | \subpage page2 | Page2   |

von Thomas (Gast)


Bewertung
0 lesenswert
nicht lesenswert
tictactoe schrieb:
> Wozu \includedoc? Lagere es in eine .h-Datei aus, die von keiner
> Source-Datei inkludiert wird, aber von INPUT und FILE_PATTERN in
> Doxyfile erfasst wird.

Danke aber das ist die Lösung. Ich habe einfach zu kompliziert gedacht.
Obwohl mir immer noch nicht klar ist warum  \includedoc nicht 
funktioniert.
Aber egal die Hilfestellungen hier sind einfach toll man muss nur das 
Problem richtig formulieren.

Thomas

von Thomas Z. (usbman)


Bewertung
0 lesenswert
nicht lesenswert
Da mich das Thema in anderem Zusammenhang wieder mal gebissen hat hab 
ich es mal näher untersucht. Es ist tatsächlich so das /includedoc nicht 
wie erwartet funktioniert. Ich hatte per Markup ein paar Tabellen gebaut 
diese wurden genauso wenig korrekt bearbeitet wie alle anderen doxygen 
comands.
Das einzige was geholfen hat war im include File alles auf HTML 
umzustellen. Die Dokumentation sagt ja dass einige Comands nicht gehen, 
das ist allerdings stark untertrieben. Nur HTML geht und dort auch nicht 
alles. <li> </li> geht zum Beispiel innerhalb von Tabellen auch nicht.

Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.