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