Project

General

Profile

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