C++ Projektvorlage » History » Version 4
Daniel Giritzer, 12/01/2017 05:49 PM
1 | 2 | Daniel Giritzer | h1. [Archiv] Generische und flexible Projektvorlage für SDP3 |
---|---|---|---|
2 | 1 | Daniel Giritzer | |
3 | 1 | Daniel Giritzer | *Dieser Eintrag betrifft nur die Alte C++ Projektvorlage für Linux.* |
4 | 2 | Daniel Giritzer | https://projects.nwrk.biz/attachments/download/1/Cpp_Template.tar.gz |
5 | 1 | Daniel Giritzer | |
6 | 1 | Daniel Giritzer | |
7 | 2 | Daniel Giritzer | |
8 | 1 | Daniel Giritzer | h2. Abhängigkeiten |
9 | 1 | Daniel Giritzer | |
10 | 2 | Daniel Giritzer | Um diese Vorlage verwenden zu können werden folgende Programme vorrausgesetzt |
11 | 2 | Daniel Giritzer | (ein großteil ist normalerweiße standardmäßig installiert): |
12 | 1 | Daniel Giritzer | |
13 | 2 | Daniel Giritzer | perl, texlive-full, doxygen, graphviz, tcl, whiptail, liblib-abs-perl, libmoose-perl, |
14 | 2 | Daniel Giritzer | tk, libany-moose-perl,libnamespace-autoclean-perl, libperl6-junction-perl, |
15 | 2 | Daniel Giritzer | libmoosex-role-parameterized-perl, libhash-fieldhash-perl, libcapture-tiny-perl, |
16 | 2 | Daniel Giritzer | libc-bin, libdata-section-simple-perl, libmoo-perl, libipc-run3-perl, libwant-perl, |
17 | 1 | Daniel Giritzer | libtype-tiny-perl, exuberant-ctags, dia2code |
18 | 1 | Daniel Giritzer | |
19 | 2 | Daniel Giritzer | Diese Abhängigkeiten können mit dem generate script auf einer Debian basierenden |
20 | 2 | Daniel Giritzer | GNU/Linux Distribution (apt) wie folgt Installiert werden: |
21 | 2 | Daniel Giritzer | > $ ./generate install |
22 | 1 | Daniel Giritzer | |
23 | 2 | Daniel Giritzer | Diese weiteren Programme werden außerdem empfohlen: dia, codeblocks |
24 | 1 | Daniel Giritzer | |
25 | 1 | Daniel Giritzer | h2. Deckblatt |
26 | 1 | Daniel Giritzer | |
27 | 2 | Daniel Giritzer | Die Angabe muss sich im Unterordner 'Dateien/doc' befinden und in 'Angabe.pdf' |
28 | 2 | Daniel Giritzer | umbenannt werden. Das Angabeblatt wird automatisch beim erstellen der Latex Doku |
29 | 2 | Daniel Giritzer | mit den in der Abgabe.tex Datei enthaltenen Eingaben ausgefüllt. Falls |
30 | 2 | Daniel Giritzer | nötig können die Koordinaten der Eingaben in der 'Dateien/config/docsettings.tex' Datei |
31 | 2 | Daniel Giritzer | angepasst werden. |
32 | 1 | Daniel Giritzer | |
33 | 1 | Daniel Giritzer | h2. Quellcode |
34 | 1 | Daniel Giritzer | |
35 | 4 | Daniel Giritzer | Der Quellcode des SDP Projekts gehört in den Unterordner 'Dateien/src'. In disem Unterordner |
36 | 4 | Daniel Giritzer | befindet sich auch ein Makefile welches automatisch alle *.cpp Dateien kompiliert |
37 | 1 | Daniel Giritzer | und linkt. (mit und ohne Debugging Informationen). Genauere |
38 | 4 | Daniel Giritzer | Infos zur Handhabung dieses Makefiles kann man aus den darin enthaltenen Kommentaren entnehmen. |
39 | 4 | Daniel Giritzer | Alle Source und Header Dateien in diesem Ordner werden automatisch in die Latex Doku eingebunden. |
40 | 1 | Daniel Giritzer | |
41 | 1 | Daniel Giritzer | h2. Dokumentation |
42 | 1 | Daniel Giritzer | |
43 | 4 | Daniel Giritzer | Generell sollte der Sourcecode mit DoxyGen Kommentarblöcken kommentiert werden. Systemdokumentation, |
44 | 4 | Daniel Giritzer | Organisatorische Informationen, Erläuterungen zum Testtreiber, und die Ausgabe des Testtreibers sollen |
45 | 4 | Daniel Giritzer | in die dementsprechenden Dateien im 'Dateien/doc' Verzeichnis eingetragen werden. Allgemeine Infos |
46 | 4 | Daniel Giritzer | zum Projekt sollen in der 'Abgabe.tex' Datei im Wurzelverzeichnis ergänzt werden. |
47 | 1 | Daniel Giritzer | |
48 | 1 | Daniel Giritzer | h2. UML Diagramm |
49 | 1 | Daniel Giritzer | |
50 | 1 | Daniel Giritzer | Diese Projektvorlage arbeitet mit zwei Diagrammformaten: |
51 | 1 | Daniel Giritzer | - .dot Graphviz Diagramme |
52 | 1 | Daniel Giritzer | - .dia Dia Diagramme |
53 | 1 | Daniel Giritzer | |
54 | 4 | Daniel Giritzer | Das UML Diagramm muss sich im Unterordner 'Dateien/uml' befinden. Für die Abgabe muss es außerdem im PNG Format |
55 | 4 | Daniel Giritzer | gespeichert sein und den Dateinamen 'UML.png' besitzen. Standardmäßig ('$ ./generate all') erzeugt das generate |
56 | 4 | Daniel Giritzer | Script aus dem Quellcode automatisch ein Graphviz UML Diagramm und generiert daraus ein Bild im PNG Format nach |
57 | 4 | Daniel Giritzer | 'Dateien/uml/UML.png' (*ACHTUNG:* +existiert diese Datei bereits wird sie überschrieben!+). Dieses Diagramm ist |
58 | 4 | Daniel Giritzer | aber in der Regel nicht Fehlerfrei, man kann es aber mit 'dotty' editieren. Es wird auch ein mit DIA editierbares |
59 | 4 | Daniel Giritzer | Diagramm erzeugt. Generell wird jedoch empfohlen selbst ein DIA UML Diagramm zu erstellen, weil man sich daraus |
60 | 4 | Daniel Giritzer | schon ein Codegerüst gnerieren lassen kann ('$ ./generate src'). Dazu muss das DIA Diagramm unter 'Dateien/uml/UML.dia' |
61 | 4 | Daniel Giritzer | gespeichert sein. Das Codegerüst wird nach 'Dateien/src/generated_from_uml' generiert. Um ein Handout mit einem |
62 | 4 | Daniel Giritzer | selbstgezeichneten UML Diagramm zu erstellen muss man dieses nach 'Dateien/uml/UML.png' kopieren |
63 | 4 | Daniel Giritzer | und die Abgabe mittels '$ ./generate handout' zu erzeugen. |
64 | 1 | Daniel Giritzer | |
65 | 1 | Daniel Giritzer | h2. Log Dateien |
66 | 1 | Daniel Giritzer | |
67 | 3 | Daniel Giritzer | Sollte irgendetwas nicht Funktionieren, kann man in den Log Dateien unter 'Dateien/log' nach Hinweisen |
68 | 3 | Daniel Giritzer | suchen. Die Hauptlogging Datei mit den wahrscheindlich wichtigeren Infos ist hierbei |
69 | 3 | Daniel Giritzer | 'Dateien/log/general.log'. |
70 | 1 | Daniel Giritzer | |
71 | 1 | Daniel Giritzer | h2. Design anpassen |
72 | 1 | Daniel Giritzer | |
73 | 1 | Daniel Giritzer | Das Design der Vorlage kann mit den '*.tex' Dateien im Verzeichnis |
74 | 1 | Daniel Giritzer | 'Dateien/config' angepasst werden. Genaueres kann aus den Kommentaren |
75 | 1 | Daniel Giritzer | dieser Dateien entnommen werden. |
76 | 1 | Daniel Giritzer | |
77 | 3 | Daniel Giritzer | > Beschreibung der Dateien: |
78 | 3 | Daniel Giritzer | > packages.tex - Beinhaltet alle verwendeten Pakete. |
79 | 3 | Daniel Giritzer | > setup_doxygen.tex - Beinhaltet alle von DoxyGen benötigten |
80 | 3 | Daniel Giritzer | > Pakete, und für DoxyGen extra definierte |
81 | 3 | Daniel Giritzer | > Befehle (aus refman.tex übernommen). |
82 | 3 | Daniel Giritzer | > codesettings.tex - Beinhaltet Einstellungen für das Syntax |
83 | 3 | Daniel Giritzer | > Highlighting der Quellcode Dateien. |
84 | 3 | Daniel Giritzer | > docsettings.tex - Beinhaltet generelle Dokumenteinstellungen ( |
85 | 3 | Daniel Giritzer | > Kopf- und Fußzeile, Inhaltsverzeichnis, |
86 | 3 | Daniel Giritzer | > Deckblatt, ...). |
87 | 1 | Daniel Giritzer | |
88 | 1 | Daniel Giritzer | h2. Handhabung des generate Scripts |
89 | 1 | Daniel Giritzer | |
90 | 3 | Daniel Giritzer | Das Script MUSS immer im Hauptverzeichnis mit der Verknüpfung |
91 | 3 | Daniel Giritzer | im Hauptverzeichnis ausgeführt werden. |
92 | 1 | Daniel Giritzer | |
93 | 1 | Daniel Giritzer | |
94 | 1 | Daniel Giritzer | /SDP/hauptverzeichnis $ ./generate [option] |
95 | 3 | Daniel Giritzer | > Verfügbare Optionen: |
96 | 3 | Daniel Giritzer | > all - generiert komplette Abgabe (incl. UML.png + UML.dia) |
97 | 3 | Daniel Giritzer | > handout - generiert komplette Abgabe (ohne UML.png + UML.dia) |
98 | 3 | Daniel Giritzer | > uml - generiert nur UML.png und UML.dia |
99 | 3 | Daniel Giritzer | > src - generiert ein Codegerüst aus einem bestehenden UML.dia |
100 | 3 | Daniel Giritzer | > Diagramm |
101 | 3 | Daniel Giritzer | > pdf - generiert nur Abgabe.pdf |
102 | 3 | Daniel Giritzer | > clean - löscht alle temporär angelegte Dateien |
103 | 3 | Daniel Giritzer | > install - installiert benötigte Paket |
104 | 1 | Daniel Giritzer | |
105 | 1 | Daniel Giritzer | h2. Zusammenfassung |
106 | 1 | Daniel Giritzer | |
107 | 3 | Daniel Giritzer | Damit dass "generate" Script verlässlich eine Abgabe generiert muss |
108 | 1 | Daniel Giritzer | folgendes gegeben sein: |
109 | 3 | Daniel Giritzer | - alle Abhängigkeiten Installiert ($ ./generate install) |
110 | 1 | Daniel Giritzer | - Angabe.pdf im Dateien/doc Ordner |
111 | 1 | Daniel Giritzer | - Quellcode mit DoxyGen Kommentaren im Dateien/src Ordner |
112 | 3 | Daniel Giritzer | - allgemeine Infos in der Abgabe.tex ausgefüllt |
113 | 1 | Daniel Giritzer | - ausgabe des Testtreibers in Dateien/doc/Output_Testtreiber.tex |
114 | 1 | Daniel Giritzer | - Resultat Testtreiber in Dateien/doc/Erlauterung_Test.tex beschrieben |
115 | 1 | Daniel Giritzer | - Aufgabenverteilung in Dateien/doc/Organisatorisches.tex eingetragen |
116 | 1 | Daniel Giritzer | - Systemspezifikation in Dateien/doc/Systemspezifikation.tex beschrieben |
117 | 1 | Daniel Giritzer | - UML Diagramm als Dateien/uml/UML.png gespeichert |
118 | 1 | Daniel Giritzer | |
119 | 3 | Daniel Giritzer | Bleibt das generate script 'hängen' fehlt meist eine der oben genannten |
120 | 1 | Daniel Giritzer | Dateien. |
121 | 1 | Daniel Giritzer | |
122 | 1 | Daniel Giritzer | (C) 2016 Daniel Giritzer |
123 | 1 | Daniel Giritzer | daniel@giritzer.eu |
124 | 1 | Daniel Giritzer | FH-Hagenberg, HSD |