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