Kapitel 1: Installation

This page is the German Translation of Chapter 1: Installation
Prerequisites

Vorraussetzungen

OpenTK ist eine C# Library welches für .Net 2.0 geschrieben wurde. Um diese nutzen zu können, benötigen Sie die erforderlichen Hardware-Treiber für OpenGL (Grafik), OpenAL (Audio) und OpenCL (Computing), abhängig vom Verwendungszweck Ihres OpenTK Projektes:

Bei den meisten Betriebssysteme sind die Runtimes schon vorinstalliert. Bitte beachten Sie, dass OpenTK nicht mit .Net 1.1 oder .Net CF kompatibel ist.

Installation

OpenTK ist in Zwei Sorten unterteilt. Einmal als Windows-Installer und einmal als Zip-Archiv.

Windows Nutzer werden wohl den Installer bevorzugen. Führen Sie diesen einfach aus und befolgen Sie die angezeigten Anweisungen. Sie benötigen für den Installer keine Administrationsrechte, es sei denn Sie wählen bei der Installation OpenAL und/oder das GLSL-Plugin für Visual Studio Professional. Nachdem die Installation erfolgreich beendet ist, wird es Ihnen möglich sein OpenTK in dein Prjekt als Referenz hinzuzufügen (Klicken Sie dazu mit der Rechten Maustaste auf "Verweise"->"Verweis hinzufügen" und wählen Sie unterm ".Net"-Tab OpenTK heraus).

Unter Linux und Mac Os X entpacken Sie das Archiv in einen beliebegen Ordner und fügen Sie OpenTK.dll in Ihre Projek.st Referenz hinzu. Sie finden die Datei unter Binaries/OpenTK/Release. Daraufhin fügen Sie die OpenTK.dll.comfig in Ihr Projekt hinzu und geben beim IDE die Anweisung, es in Ihr Projektverzeichnis hinein zu kopieren. Dies ist für eine Fehlerfreie Funktionalität notwendig!

Erstellen

Sie können OpenTK wahlweise über ein Kommandofenster oder einem IDE erstellen:

Achtung: Wenn Sie eine ältere Version von Mono nutzen als 2.6, wird OpenTK direkt vom Sourcecontroll erstellt. Um dies zu umgehen öffnen Sie im IDE OpenTK.sln und drücken mit der rechten Maustaste auf "Build.UpdateVersion" und wählen "Run". Nun können Sie OpenTK normal erstellen.

Fehlerdiagnose

This page is the German Translation of Troubleshooting.

Die meisten Probleme beim Ausführen von OpenTK-basierten Anwendungen haben etwas mit dem Fehlen der richtigen Treiber beim Zielsystem zu tun.

OpenTK benötigt die folgenden installierten Komponenten:

  • Mono oder .NET.
  • Ein OpenGL-Treiber für Ihre Grafikkarte.
  • Ein OpenAL-Treiber für Ihr Betriebssystem.

Nachfolgend finden Sie einige hilfreiche Links. Bemerkung: Einige der Seiten erfordern aktiviertes Javascript.

Mono

Novell (Linux, Mac & Windows) http://www.go-mono.com/mono-downloads/download.html

.Net

Microsoft (Windows) http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=...

OpenAL

Bemerkung: Es ist egal von welchem Hersteller Ihre Soundkarte ist, wählen Sie einfach das passende Betriebssystem.

Creative Labs (Mac & Windows) http://www.openal.org/downloads.html
Strangesoft (Linux) http://kcat.strangesoft.net/openal.html

OpenGL

ATi (Linux, Mac & Windows) http://ati.amd.com/support/driver.html
NVIDIA (Linux & Windows) http://www.nvidia.com/Download/index.aspx?lang=de
Intel (Windows) http://downloadcenter.intel.com/
Intel (Linux) http://intellinuxgraphics.org/download.html
Mesa 3D (software rendering) http://sourceforge.net/project/showfiles.php?group_id=3

Wenn Sie einen Laptop mit Nvidia-Grafikkarte haben, können Sie aktuelle Treiber hier herbekommen: http://www.laptopvideo2go.com

Letze Aktualisierung dieser Links: März 2008

Tags for searches:
help problem error outdated trouble crash fail failure exception abort opengl openal driver ati intel nvidia

Linux

This page is the German Translation of Linux.

Mono installieren

Wenn Sie eine aktuelle Linux-Distribution nutzen, müssten bereits alle erforderlichen Abhängigkeiten für OpenTK Projekte erfüllt sein: Die Mono Laufzeitumgebung und der Mono Compiler. Führen Sie den Befehl "mono --version" und "gmcs --version" aus und überprüfen Sie, ob die Ausgabe ungefähr so aussieht:

$ mono --version
Mono JIT compiler version 1.2.6 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
 
$ gmcs --version
Mono C# compiler version 1.2.6.0

Wenn einer oder beide der Befehle fehlschlagen, müssen Sie Mono nachinstallieren. Mono Pakete müssten in dem Paket-Manager Ihrer Distribution verfügbar sein, sodass folgende Zeile funktionieren müsste:

# Ubuntu und andere .deb-basierende Distributionen
sudo apt-get install mono mono-gmcs
# or
su -c "apt-get install mono mono-gmcs"
 
# Fedora Core und .rpm-basierende Distributionen
su -c "yum install mono mono-gmcs"

Wenn kein Mono Paket verfügbar ist oder es schlicht veraltet ist (mono --version gibt eine Version kleiner als 1.2.6 zurück), sollten Sie Mono selber kompilieren. Es gibt eine Nachricht im Support-Forum, die den Kompiliervorgang von Mono beschreibt.

Alternativ findet man ein Setup für alle gängigen Linux-Distributionen auf der Download-Seite des Mono-Projektes.

Nutzen eines binären Releases

Laden Sie das aktuellste OpenTK Release von der Sourceforge Projektseite herunter und entpacken Sie es:

tar -xvf opentk-0.3.13-mono.tar.gz

Es wird ein neues Verzeichnis mit fünf Unterordnern erzeugt: "Documentation", "Binaries", "Source", "Build" und "Quickstart". Versuchen Sie die Beispiele aus dem zweiten Ordner auszuführen, um zu überprüfen, ob alles funktioniert:

cd opentk-0.9/Binaries/Examples/mono
mono Examples.exe

Nun öffnet sich hoffentlich ein neues Fenster, welches alle verfügbaren Beispiele auflistet. Falls nicht, werfen Sie einen Blick auf den Bereich "Fehlerdiagnose".

Der "Binaries/Libraries" Ordner enthält die Haupt-OpenTK-Assembly (OpenTK.dll) sowie die OpenTK.dll.config Datei - das ist alles was man benötigt, um OpenTK Projekte zu starten. Wenn Sie MonoDevelop nutzen, schauen Sie auch in den "Quickstart" Ordner, um ein fertiges Projekt zu sehen. Als letztes sollte Sie nicht vergessen in die "Release Notes" im "Documentation" Ordner zu schauen.

Fehlerdiagnose

Der folgender Fehler wurde auf Fedora Core 8 beim Ausführen der Examples.exe gemeldet:

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.Form ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: gdiplus.dll
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x00000] --- End of inner exception stack trace ---

Dies wird durch einen fehlenden Eintrag in "etc/mono/config" verursacht. Um das Problem zu beseitigen, öffnen Sie die eben genannte Datei (als root) und fügen Sie die folgende Zeile hinzu:

<dllmap dll="gdiplus.dll" target="/usr/lib/libgdiplus.so.0"

Nun müssten die Beispiele funktionieren.

OpenTK eigenhändig kompilieren

Das Build-System von OpenTK nutzt NAnt, daher muss dieses zuerst installiert werden:

# Ubuntu
sudo apt-get install nant
 
# Debian
su -c "apt-get install nant"
 
# Fedora
su -c "yum install nant"

Ist das einmal geschafft, kann man den Quellcode entpacken und in den Build-Ordner wechseln:

unzip opentk-0.9.zip
cd opentk-0.9/Build
mono Build.exe mono

Nach dem Ende der Kompilation befinden sich die Build-Produkte im "Binaries"-Ordner. Um die Debug-Version zu kompilieren, hängen Sie "debug" an den Befehl an, sodass der Befehl wie folgt aussieht:

mono Build.exe mono debug

Windows

This page is the German Translation of Windows.

OpenTK hat bisher kein Installationspaket bzw. ein Setup. Stattdessen lädt man die OpenTK Binaries herunter and fügt "OpenTK.dll" als Verweis zu seinem Visual Studio/SharpDevelop/MonoDevelop Projekt hinzu (Binaries zuerst entpacken).

Außerdem ist es eine gute Idee "OpenTK.dll.config" in sein Projekt aufzunehmen und die Eigenschaft "In Ausgabeverzeichnis kopieren" auf "Immer kopieren" zu setzen. Ohne diese Konfiguration wird die Anwendung zwar unter Windows, dafür aber nicht unter Linux oder Mac OS X laufen, daher dies bitte nicht vergessen!

Als letztens sollte man noch die Eigenschaft "Lokale Kopie" des OpenTK-Verweises auf "True" setzen, um die Distribution der Anwendung zu vereinfachen.