GlobalObjects
Lade ...
Suche ...
Keine Treffer
GlobalObjects installieren

Windows Installation

Als erstes werden die Dateien und Verzeichnisse aus der heruntergeladenen Datei "WinGloXXX.zip" auf einen Datenträger entpackt (die Buchstaben 'X' spiegeln die jeweilige Versionsnummer wieder).

Die resultierende Verzeichnisstruktur:

Um GlobalObjects zu installieren, wird das Setup-Programm EuSetup.exe aufgerufen.
Um das Installationsverzeichnis auszuwählen, klickt man sich durch bis zur Verzeichnisauswahl.

Es können einzelne Komponenten ausgewählt werden, welche im folgenden kurz erläutert werden.

Setup Compiler

Unter diesem Auswahlknoten sind die jeweiligen Bibliotheken und Tools auswählbar. Ist der bevorzugt verwendete Compiler unter der Auswahl, wird empfohlen, diesen auszuwählen. Es können auch mehrere Compiler ausgewählt werden.
Es werden die einzelnen zu installierenden Komponenten am Beispiel von GlobalObjects Version x.x.x für 'Microsoft Visual C++ 2017 (32 Bit)' im Installationsverzeichnis C:/Glo erläutert.

Setup Biblioteken (LIBs und DLLs)

Es werden alle benötigten Bibliotheken (DLL- und LIB-Dateien) für den ausgewählten Compiler installiert.

Die resultierenden Dateien sind im Installationsverzeichnis unter %GlobalObjects Installationsverzeichnis%\Compiler\MS_Visual_C++_2017\Lib zu finden.

Setup GlobalObjects Beispiele

Um GlobalObjects kennenzulernen, werden einige Programmierbeispiele für die ausgewählte Entwicklungsumgebung installiert.

Die resultierenden Projektmappen-Dateien sind im Installationsverzeichnis unter %GlobalObjects Installationsverzeichnis%\Examples\MS_Visual_C++_2017 zu finden.


Die zugehörigen Datenbanken findet man unter %GlobalObjects Installationsverzeichnis%\Examples\Bases und die Header- und Source-Dateien der Beispielklassen unter %GlobalObjects Installationsverzeichnis%\Examples\include und %GlobalObjects Installationsverzeichnis%\Examples\source.

Setup GlobalObjects Tools

Es werden die einzelnen Tools installiert.

  • GloDeveloper Der GloDeveloper hilft beim Erstellen der persistenten Klassen und der dazugehörigen Objektdatenbanken.
  • GloExplorer Mit dem GloExplorer können die Objektdatenbanken inspiziert werden.
  • GloServer Über den GloServer können mehrere Clients gleichzeitig auf die Objektdatenbanken zugreifen.

Die GlobalObjects-Tools sind im Installationsverzeichnis unter %GlobalObjects Installationsverzeichnis%\Tools\bin32 zu finden.

Setup GlobalObjects Umgebungsvariablen

Es können die empfohlenen Umgebungsvariablen gesetzt werden.

  • EUCPPDIR (Pfad auf C++ Header und Source) Die GlobalObjects Header- und wenn ausgewählt die GlobalObjects Source-Dateien, werden im Installationsverzeichnis unter der Versionsnummer im Verzeichnis 'Src' abgelegt. In den jeweiligen Entwicklungsumgebungen für die Beispiele wird diese Umgebungsvariable in den jeweiligen Projektmappen genutzt. Es wird empfohlen, diese Umgebungsvariable auch in seinen eigenen Projektdateien zu nutzen.
  • OWNVS141LIBDIR (Pfad auf DLLs und LIBs) Die Compiler spezifischen GlobalObjects DLLs und LIBs werden z.B. für den Beispielfall 'Microsoft Visual C++ 2017' im Installationsverzeichnis unter der Versionsnummer im Verzeichnis 'Compiler/Microsoft Visual C++ 2017/lib' gespeichert und in dieser Umgebungsvariable vorgehalten. Es wird empfohlen, diese Umgebungsvariable auch in seinen eigenen Projektdateien zu nutzen.
  • PATH erweitern auf OWNVS141LIBDIR Es kann der Verweis auf die Compiler spezifischen GlobalObjects DLLs und LIBs in die Umghebungsvariable 'Path' übernommen werden.

Setup C++ Dateien

Die GlobalObjects C++ Dateien.

Setup GlobalObjects C++ Header

Die benötigten Header-Dateien, um die Bibliotheken von GlobalObjects nutzen zu können.

Zu beachten
Diese Auswahl ist obligatorisch zur Entwicklung mit GlobalObjects

Die installierten C++ Headerdateien sind im 'Src-Verzeichnis' in den jeweiligen Teilprojekten unter den jeweiligen 'include-Verzeichnissen' wie z.B. %GlobalObjects Installationsverzeichnis%\Src\GlobalObjects\include zu finden.

Setup GlobalObjects C++ Source

Um ggf. in die GlobalObjects Bibliothek zu debuggen, können die Quell-Dateien optional mit installiert werden.

Die installierten C++ Sourcedateien sind im 'Src-Verzeichnis' in den jeweiligen Teilprojekten unter den jeweiligen 'source-Verzeichnissen' wie z.B. %GlobalObjects Installationsverzeichnis%\Src\GlobalObjects\source zu finden.

Setup Global Objects Benutzerhandbücher

Es können für GlobalObjects selbst und die einzelnen GlobalObjects-Tools Benutzerhandbücher installiert werden.

Die installierten Benutzerhandbücher sind im Installationsverzeichnis unter %GlobalObjects Installationsverzeichnis%\Tools\Manuals zu finden.

Setup GlobalObjects für Mitentwickler

Da GlobalObjects freie Software ist, können alle zur Entwicklung genutzten Quellen installiert werden.

Setup GlobalObjects für Mitentwickler / C++

In dieser Rubrik können die Compiler spezifischen GlobalObjects Projektmappen-Dateien zur Installation ausgewählt werden. Jeder darf damit GlobalObjects weiterentwickeln.

Die resultierende Projektmappen-Datei für GlobalObjects ist im Installationsverzeichnis unter %GlobalObjects Installationsverzeichnis%\Compiler\MS_Visual_C++_2017\GlobalObjects zu finden.

Setup GlobalObjects für Mitentwickler / doxygen Dokumentation

In dieser Rubrik werden die Dokumentations-Daten für GlobalObjects und anderer genutzter Bibliotheken zur Installation angeboten. Verbesserungen und insbesondere Übersetzungen sind jederzeit willkommen.

Die resultierende doxygen Dokumentations-Dateien für GlobalObjects sind im Installationsverzeichnis unter %GlobalObjects Installationsverzeichnis%\Src\GlobalObjects\Docu zu finden.

Linux Installation

Als erstes werden die Dateien und Verzeichnisse aus "LinGloXXX.tar" auf einen Datenträger entpackt (die Buchstaben 'X' spiegeln die jeweilige Versionsnummer wieder).

Die resultierende Verzeichnisstruktur:

Die Projektdateien sind für den Qt Creator und die Quelldateien für den GCC bzw. Clang ausgelegt. Es sollte Qt auf dem System verfügbar sein. Wenn die GlobalObjects-Tools erstellt werden sollen, ist Qt obligatorisch.

Wenn Qt installiert ist, sollten zuerst die Dateien MakeLibs.sh und MakeTools.sh ausführbar gemacht werden.
MakeLibs.sh kompiliert die benötigten GlobalObjects-Bibliotheken (Release und DEBUG) und kopiert diese in das Verzeichnis 'glo/QtCreator_GCC/lib'.
MakeTools.sh kompiliert den GloDeveloper, GloExplorer und den GloServer und kopiert diese in das Verzeichnis 'glo/QtCreator_GCC/bin'.
Damit die GloTools 'ihre' Bibliotheken finden, muss das Verzeichnis 'glo/QtCreator_GCC/lib' dem System als Bibliotheksverzeichnis bekannt gemacht werden.

Diverse Einstellungen

Einige Einstellungen des Qt Creator könnten notwendig sein, um z.B. die Beispiele im Debug-Modus auszuprobieren.

Inhalt von std::string wird nicht angezeigt (_DEBUG)

Es sind in einigen Linux-Distrubitionen beim Qt Creator Ungereimtheiten aufgetaucht. Sollten z.B. die Inhalte von std::string im Debugger nicht angezeigt werden, haben sich folgende Änderungen in der Datei '/usr/share/qtcreator/debugger/stdtypes.py' bewährt:

(size, alloc, refcount) = d.split("ppp", data - 3 * d.ptrSize())

ersetzt durch

(size, alloc, refcount) = d.split("ppp", value.address() + d.ptrSize())

und

d.check(0 <= size and size <= alloc and alloc <= 100*1000*1000)

entfernt bzw. auskommentiert.

Debugger Fehlermeldung SIGSTOP

Sollte beim Debuggen folgende Fehlermeldung auftauchen,

können folgende Einstellungen im Qt Creator unter Extras/Einstellungen.../Debugger->Lokale Variablen & Ausdrücke im Textfeld Anpassungen der Ausgabe-Hilfsbibliothek helfen:

handle SIGSTOP nopass
handle SIGSTOP nostop

GlobalObjects Bibliotheken

Um mit GlobalObjects zu arbeiten, müssen einige DLLs in die eigenen Projekte mit eingebunden werden, welche hier kurz erläutert werden.
Es werden drei DLLs, jeweils für die z.Z. unterstützten Compiler und Betriebssysteme zur Verfügung gestellt. Der Aufbau ist folgendermaßen; NNNvvvCCCGGGBB bzw. NNNvvvCCCGGGBBd für die Debug-Versionen, wobei die einzelnen Buchstaben und Ziffern folgende Bedeutung haben:

  • NNN Spiegelt den Namen der DLL wieder und ist in Großbuchstaben geschrieben.
    • INIFILE Stellt die Funktionalität zur Bearbeitung von INI-Dateien zur Verfügung. Die Schemata der persistenten Objekte mit ihren Objektdateien wird in diesem Dateityp gespeichert.
    • TCP In dieser DLL finden sich die Funktionalitäten für den Mehrbenutzerbetrieb von GlobalObjects.
    • GLOA Diese DLL wird grundsätzlich benötigt, wenn man mit GlobalObjects entwickelt.
  • vvv Ist das Kürzel in kleinen Buchstaben für den verwendeten Compiler. Zur Zeit werden die DLLs für folgende Compiler mitgeliefert bzw. erstellt:
    • v Ist das Kürzel für Microsoft-Compiler.
    • mw Ist das Kürzel für Mingw-Compiler.
    • gc Ist das Kürzel für Linux Gcc-Compiler.
    • cl Ist das Kürzel für Linux Clang-Compiler.
  • CCC Kennzeichnet in Ziffern die Version des verwendeten Compilers (z.B. 'v141' für Microsoft Visual Studio 2017 oder .'mw730' für mingw Version 730.
  • GGG Kennzeichnet in Ziffern die Version der DLL.
  • BB Kennzeichnet in Ziffern ,ob es sich um eine 32- oder 64-Bit DLL handelt.
    Zu beachten
    Das ist unter Linux, wenn neu kompiliert wird, nicht notwendig. Ich habe es also in der Namensgebung in den Projektdateien nicht berücksichtigt.
  • d Ein optional angehängtes kleines 'd' kennzeichnet die jeweilige DLL als Debug-Version.

Zusätzliche Bibliotheken

GlobalObjects für Visual C++ 2010 von Microsoft und die grafischen GlobalObjects-Tools sind mit zusätzlichen Bibliotheken erstellt worden, welche ggf. zusätzliche heruntergeladen werden müssen. Es handelt sich jeweils um OpenSource!

POSIX Pthreads-w32 (für Visual C++ 2010)

Damit GlobalObjects weitestgehend systemunabhängig ist, wurden Threads ursprünglich nach dem "POSIX 1003.1-2001"-Standard mit Pthreads-w32 realisiert. Seit GlobalObjects Version 0.1.1 werden std::thread genutzt.
Nur wenn GlobalObjects für Visual C++ 2010 von Microsoft genutzt wird, wird die "pthreadVC2.dll" von Pthreads-w32 benötigt. Weitere Informationen und ggf. neue Versionen sind unter https://www.sourceware.org/pthreads-win32/ zu finden.

Qt

Die GlobalObjects-Tools GloDeveloper und GloExplorer mit ihren grafischer Oberfläche sind mit der C++ Bibliothek Qt realisiert. Nur wenn diese GlobalObjects-Tools neu kompiliert werden sollen, wird das Qt Framework benötigt, zu finden unter https://www.qt.io.