C++ Projektvorlage » History » Version 2
Daniel Giritzer, 12/01/2017 05:40 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 | 1 | Daniel Giritzer | Der Quellcode des SDP Projekts gehört in den Unterordner |
36 | 1 | Daniel Giritzer | 'Dateien/src'. In disem Unterordner befindet sich auch ein |
37 | 1 | Daniel Giritzer | Makefile welches automatisch alle *.cpp Dateien kompiliert |
38 | 1 | Daniel Giritzer | und linkt. (mit und ohne Debugging Informationen). Genauere |
39 | 1 | Daniel Giritzer | Infos zur Handhabung dieses Makefiles kann man aus den darin |
40 | 1 | Daniel Giritzer | enthaltenen Kommentaren entnehmen. Alle Source und Header |
41 | 1 | Daniel Giritzer | Dateien in diesem Ordner werden automatisch in die Latex |
42 | 1 | Daniel Giritzer | Doku eingebunden. |
43 | 1 | Daniel Giritzer | |
44 | 1 | Daniel Giritzer | h2. Dokumentation |
45 | 1 | Daniel Giritzer | |
46 | 1 | Daniel Giritzer | Generell sollte der Sourcecode mit DoxyGen Kommentarblöcken |
47 | 1 | Daniel Giritzer | kommentiert werden. Systemdokumentation, Organisatorische |
48 | 1 | Daniel Giritzer | Informationen, Erläuterungen zum Testtreiber, und die Ausgabe |
49 | 1 | Daniel Giritzer | des Testtreibers sollen in die dementsprechenden Dateien im |
50 | 1 | Daniel Giritzer | 'Dateien/doc' Verzeichnis eingetragen werden. Allgemeine Infos |
51 | 1 | Daniel Giritzer | zum Projekt sollen in der 'Abgabe.tex' Datei im Wurzelverzeichnis |
52 | 1 | Daniel Giritzer | ergänzt werden. |
53 | 1 | Daniel Giritzer | |
54 | 1 | Daniel Giritzer | h2. UML Diagramm |
55 | 1 | Daniel Giritzer | |
56 | 1 | Daniel Giritzer | Diese Projektvorlage arbeitet mit zwei Diagrammformaten: |
57 | 1 | Daniel Giritzer | - .dot Graphviz Diagramme |
58 | 1 | Daniel Giritzer | - .dia Dia Diagramme |
59 | 1 | Daniel Giritzer | |
60 | 1 | Daniel Giritzer | Das UML Diagramm muss sich im Unterordner 'Dateien/uml' befinden. |
61 | 1 | Daniel Giritzer | Für die Abgabe muss es außerdem im PNG Format gespeichert sein |
62 | 1 | Daniel Giritzer | und den Dateinamen 'UML.png' besitzen. Standardmäßig |
63 | 1 | Daniel Giritzer | ('$ ./generate all') erzeugt das generate Script aus dem |
64 | 1 | Daniel Giritzer | Quellcode automatisch ein Graphviz UML Diagramm und |
65 | 1 | Daniel Giritzer | generiert daraus ein Bild im PNG Format nach 'Dateien/uml/UML.png' |
66 | 1 | Daniel Giritzer | (ACHTUNG: existiert diese Datei bereits wird sie überschrieben!). |
67 | 1 | Daniel Giritzer | Dieses Diagramm ist aber in der Regel nicht Fehlerfrei, man kann |
68 | 1 | Daniel Giritzer | es aber mit 'dotty' editieren. Es wird auch ein mit DIA |
69 | 1 | Daniel Giritzer | editierbares Diagramm erzeugt. Generell wird jedoch empfohlen |
70 | 1 | Daniel Giritzer | selbst ein DIA UML Diagramm zu erstellen, weil man sich daraus |
71 | 1 | Daniel Giritzer | schon ein Codegerüst gnerieren lassen kann ('$ ./generate src'). |
72 | 1 | Daniel Giritzer | Dazu muss das DIA Diagramm unter 'Dateien/uml/UML.dia' |
73 | 1 | Daniel Giritzer | gespeichert sein. Das Codegerüst wird nach 'Dateien/src/generated_from_uml' |
74 | 1 | Daniel Giritzer | generiert. Um ein Handout mit einem selbstgezeichneten UML Diagramm |
75 | 1 | Daniel Giritzer | zu erstellen muss man dieses nach 'Dateien/uml/UML.png' kopieren |
76 | 1 | Daniel Giritzer | und die Abgabe mittels '$ ./generate handout' zu erzeugen. |
77 | 1 | Daniel Giritzer | |
78 | 1 | Daniel Giritzer | h2. Log Dateien |
79 | 1 | Daniel Giritzer | |
80 | 1 | Daniel Giritzer | Sollte irgendetwas nicht Funktionieren, kann man in den Log |
81 | 1 | Daniel Giritzer | Dateien unter Dateien/log nach Hinweisen suchen. Die Haupt- |
82 | 1 | Daniel Giritzer | logging Datei mit den wahrscheindlich wichtigeren |
83 | 1 | Daniel Giritzer | Infos ist hierbei 'Dateien/log/general.log'. |
84 | 1 | Daniel Giritzer | |
85 | 1 | Daniel Giritzer | h2. Design anpassen |
86 | 1 | Daniel Giritzer | |
87 | 1 | Daniel Giritzer | Das Design der Vorlage kann mit den '*.tex' Dateien im Verzeichnis |
88 | 1 | Daniel Giritzer | 'Dateien/config' angepasst werden. Genaueres kann aus den Kommentaren |
89 | 1 | Daniel Giritzer | dieser Dateien entnommen werden. |
90 | 1 | Daniel Giritzer | |
91 | 1 | Daniel Giritzer | Beschreibung der Dateien: |
92 | 1 | Daniel Giritzer | packages.tex - Beinhaltet alle verwendeten Pakete. |
93 | 1 | Daniel Giritzer | setup_doxygen.tex - Beinhaltet alle von DoxyGen benötigten |
94 | 1 | Daniel Giritzer | Pakete, und für DoxyGen extra definierte |
95 | 1 | Daniel Giritzer | Befehle (aus refman.tex übernommen). |
96 | 1 | Daniel Giritzer | codesettings.tex - Beinhaltet Einstellungen für das Syntax |
97 | 1 | Daniel Giritzer | Highlighting der Quellcode Dateien. |
98 | 1 | Daniel Giritzer | docsettings.tex - Beinhaltet generelle Dokumenteinstellungen ( |
99 | 1 | Daniel Giritzer | Kopf- und Fußzeile, Inhaltsverzeichnis, |
100 | 1 | Daniel Giritzer | Deckblatt, ...). |
101 | 1 | Daniel Giritzer | |
102 | 1 | Daniel Giritzer | h2. Handhabung des generate Scripts |
103 | 1 | Daniel Giritzer | |
104 | 1 | Daniel Giritzer | Das Script MUSS immer im Hauptverzeichnis mit der Verknüpfung |
105 | 1 | Daniel Giritzer | im Hauptverzeichnis ausgeführt werden. |
106 | 1 | Daniel Giritzer | |
107 | 1 | Daniel Giritzer | |
108 | 1 | Daniel Giritzer | /SDP/hauptverzeichnis $ ./generate [option] |
109 | 1 | Daniel Giritzer | Verfügbare Optionen: |
110 | 1 | Daniel Giritzer | all - generiert komplette Abgabe (incl. UML.png + UML.dia) |
111 | 1 | Daniel Giritzer | handout - generiert komplette Abgabe (ohne UML.png + UML.dia) |
112 | 1 | Daniel Giritzer | uml - generiert nur UML.png und UML.dia |
113 | 1 | Daniel Giritzer | src - generiert ein Codegeruest aus einem bestehenden UML.dia |
114 | 1 | Daniel Giritzer | Diagramm |
115 | 1 | Daniel Giritzer | pdf - generiert nur Abgabe.pdf |
116 | 1 | Daniel Giritzer | clean - löscht alle temporär angelegte Dateien |
117 | 1 | Daniel Giritzer | install - installiert benötigte Paket |
118 | 1 | Daniel Giritzer | |
119 | 1 | Daniel Giritzer | h2. Zusammenfassung |
120 | 1 | Daniel Giritzer | |
121 | 1 | Daniel Giritzer | Damit dass "generate" Script verlässlich eine Abgabe generiert muss |
122 | 1 | Daniel Giritzer | folgendes gegeben sein: |
123 | 1 | Daniel Giritzer | - alle Abhängigkeiten Installiert ($ ./generate install) |
124 | 1 | Daniel Giritzer | - Angabe.pdf im Dateien/doc Ordner |
125 | 1 | Daniel Giritzer | - Quellcode mit DoxyGen Kommentaren im Dateien/src Ordner |
126 | 1 | Daniel Giritzer | - allgemeine Infos in der Abgabe.tex ausgefüllt |
127 | 1 | Daniel Giritzer | - ausgabe des Testtreibers in Dateien/doc/Output_Testtreiber.tex |
128 | 1 | Daniel Giritzer | - Resultat Testtreiber in Dateien/doc/Erlauterung_Test.tex beschrieben |
129 | 1 | Daniel Giritzer | - Aufgabenverteilung in Dateien/doc/Organisatorisches.tex eingetragen |
130 | 1 | Daniel Giritzer | - Systemspezifikation in Dateien/doc/Systemspezifikation.tex beschrieben |
131 | 1 | Daniel Giritzer | - UML Diagramm als Dateien/uml/UML.png gespeichert |
132 | 1 | Daniel Giritzer | |
133 | 1 | Daniel Giritzer | Bleibt das generate script 'hängen' fehlt meist eine der oben genannten |
134 | 1 | Daniel Giritzer | Dateien. |
135 | 1 | Daniel Giritzer | |
136 | 1 | Daniel Giritzer | (C) 2016 Daniel Giritzer |
137 | 1 | Daniel Giritzer | daniel@giritzer.eu |
138 | 1 | Daniel Giritzer | FH-Hagenberg, HSD |