Liebe Leserinnen, liebe Leser,
falls Sie einen/e Qt-Programmierer/in sind, verwenden Sie wahrscheinlich Qt Creator, und das Hilfesystem und die Popup-Meldungen dieser Entwicklungsumgebung. Diese Popup-Meldungen ermöglichen unter anderem die Befraung der verschieden Überladungen einer Funktion, und dewegen finde ich diese finde ich diese Meldungen sehr hilfreich zu sein. Ungeachtet der Tatsache, dass eine umfangreiche Offline-Dokumentation für Qt in der Entwicklungsumgebung zur Verfügung steht (falls die Qt-Dokumentationspaket auch installiert wurde), reicht das manchmal nicht, besonders wenn ein Projekt mit verschiedenen Bibliotheken gemacht wird. Ich war in einer ähnlichen Situation, in der Qt als das HauptGUIFramework dient und die Bildverarbeitung von der OpenCV-Bibliothek gemacht wird (die zusätzlich viele STL-Funktionen benutzt), also ich startete nach Weisen zu suchen, um die vorhandene Funktionserkennung von Qt Creator mit anderen Bibliotheken zu erweitern. Meiner Meinung nach ist der Arbeitsablauf viel besser, wenn man sich auf diese Funktion verlassen kann. Nachdem ich das Internet hier und da gelesen habe, habe eine Lösung gefunden, die ich hier teilen werde.
Am wichtigsten ist zu verstehen, dass Qt Creator nur das eigene binäre Dokumentationsformat (eine .qch-Datei) verwenden kann. Manchmal stehen solche Dateien im Internet zur Verfügung, wie z.B. die freiwillig bereitgestellte C++ Standardbibliothekdoku, aber in anderen Fällen muss die qch-Datei selbst erstellt werden. In diesem Beitrag werde ich zeigen, wie eine Datei von dieser Art erstellt werden kann und was man damit machen sollte.
Bevor ich das dennoch zeige, ist das wichtig zu erklären, dass in der einen oder anderen Form eine geeignete Dokumentation schon zur Verfügung stehen soll, um nutzbare qch-Dateien erzeugen zu können. In dieser Anleitung werde ich ein Verfahren darstellen, das Quelldateien mit Doxygen-Dokumentation benutzt.
- Der Quellcode, der die Doxygen-Dokumentaion enthält, in ein Verzeichnis entpacken.
- In diesem Verzeichnis ein Build-Ordner erstellen.
- Bevorzugtes CMake-Werkzeug öffnen. Manchmal funktioniert nur ein grafisches CMake-Werkzeug, wenn auch alles gut eingestellt ist.
- Quell- und Buildpfad einstellen.
- Den CMAKE_DOXYGEN_GENERATE_QHP Parameter hinzufügen, und auf ON einstellen.
- BUILD_DOCS auf ON einstellen.
- Sicherstellen, dass alle Buildeinstellungsparameter an die derzeitigen Installation eingepasst wurden (andernfalls wird nicht alle Doku erstellt werden).
- Configure, dann Generate in der grafischen Oberfläche oder cmake . in Kommandozeile ausführen.
- Zum Build-Ordner gehen, dann ‘make doxygen’ ausführen.
- Zum build/doc/doxygen/html Ordner gehen
- qhelpgenerator index.qhp -o opencv.qch ausführen (keine Versionsnummer zu dem Ausgang eingeben, weil es zukünftige Dokuaktualisierungen kompizierter machen wird)
- Erzeugte .qhp-Datei (es ist ein xml-Datei) öffnen und fehlerhafte Zeile entfernen, falls ‘Error in line 19749: Opening and ending tag mismatch’ Fehler tretet auf. Das ein </section> Tag am meistens.
- Die Erzeugte Datei in ~/.designer Order verschieben, falls die Meldung ‘Documentation successfully generated.’ tretet auf.
- Qt Creator starten, dann in Options->Help gehen und Documentation Registerkarte auswählen. Hier die qch-Datei hinzufügen.
- Qt Creator neustarten, und auf den Indizierungsprozess warten.
- Help-Modus auswählen, und eine einfache Klasse oder Funktion nachschlagen. Falls die Doku funktioniert, wird es Ergebnisse ergeben. An dieser Stelle wird die Popup-Hilfe im Quellbearbeiter auch funktionieren.
Genießen Sie bitte das viel erweiterte Hilfesystem von Qt Creator.
Letztendlich: wenn die Verfasser des Quellcodes einen In-Source-Build nicht ermöglichen, wird die unten zu sehende Fehlermeldung erscheinen. In diesen Fällen verfolgen Sie Schritte 2 bis 4.
Bash
1
2
3
4
5
6
7
CMake Error at CMakeLists.txt:11 (message):
FATAL: In-source builds are not allowed.
You should create a separate directory for build files.
-- Configuring incomplete, errors occurred!
Wie immer, vielen Dank fürs Lesen.