Einrichtung der Codeblocks-Umgebung
An und für sich ist es für die Leser einer Internetseite uninteressant, mit welchen Mitteln ein Programm entwickelt wird. Doch da ich nicht die Absicht habe, immer nur compilierte, lauffähige Versionen auf meine Webseite zu laden, beschreibe ich an dieser Stelle, wie eine Konfiguration der Codeblocks-Umgebung aussehen kann. Damit sollten Interessenten in der Lage sein, die Quelltexte selbst zu compilieren.
1. Codeblocks installieren
Unter Linux (ich beschränke mich hier auf Ubuntu oder Mint bzw. deren Ableger) kann Codeblocks über die übliche Paketverwaltung (z.B. mittels Synaptic) installiert werden. Unter Windows ist es ebenso einfach: Es gibt direkt installierbare Binaries, die von der Seite www.codeblocks.org heruntergeladen werden können. Damit hat man alles parat, einschließlich der für MingGW erforderlichen Dateien.
2. Libraries installieren
Dieses ist der umfangreichste Vorbereitungsschritt. Ich hatte schon auf einer früheren Internetseite relativ ausführlich dargestellt, wie man die verschiedenen Libraries verfügbar macht, ohne mich dabei direkt auf das Bunny-Hill-Projekt zu beziehen. Da diese Beitragsreihe evtl. noch den einen oder anderen Hinweis liefern könnte, habe ich ihn unverändert übernommen, ohne allerdings zu prüfen, inwieweit die Darstellungen noch aktuell und gültig sind.
Ab dieser Stelle will ich nur stichwortartig die wichtigsten Schritte nennen, die speziell für das Bunny-Hill-Projekt relevant sind. Zunächst eine Liste der erforderlichen Libraries:
SDL
SDL_image
SDL_mixer
freetype
OpenGL
Häufig wird im Zusammenhang mit OpenGL noch GLUT installiert, doch das entfällt hier, weil SDL die bessere Alternative zu GLUT ist.
OpenGL läuft in der Grafikkarte und verlangt nach einem Treiber, dier die GL-Funktionen ansteuern kann. Unter Linux wird OpenGL in der Regel bereits vom System unterstützt. Wenn das System dieses nicht leistet, sollte ein Originaltreiber von NVidia oder AMD nachinstalliert werden, was ohnehin zu empfehlen ist. Unter Ubuntu und Mint ist das kein Problem. Was oft noch fehlt, sind die Headerdateien, die im dev-Paket von Mesa zu finden sind.
Unter Windows fühlt sich MinGW für OpenGL verantwortlich, und da Codeblocks wiederum mit MinGW arbeitet, sollte eigentlich alles an Bord sein. Unter Windows müssen immer auch die DLLs verfügbar sein. In diesem Fall sind es opengl32.dll und glu32.dll, zu finden im Systemverzeichnis C:\Windows\system32. Falls nicht,können die DLLs aus dem Internet heruntergeladen und in den genannten Order geschoben werden.
SDL
Damit ein OpenGL-Programm überhaupt in einem Fenster läuft und gesteuert werden kann, wird SDL benötigt. Zwar kann die GLUT-Bibliothek Ähnliches leisten, doch SDL ist deutlich komfortabler und bietet mehr Möglichkeiten wie z.B. das Laden von Bitmaps oder die Unterstützung von Sound und Musik.
Unter Linux ist die Installation wieder einmal ein Kinderspiel. Praktisch alle Distibutionen bieten die Pakete für SDL, SDL_image und SDL_mixer auf ihren Repositories an. Nicht vergessen, die dev-Pakete ebenfalls zu installieren, sonst meckert der Compiler, weil der die Header nicht finden kann.
Unter Windows lädt man am besten die kompletten Entwicklerpakete herunter, die alle Notwendige enthalten. Die Pakete müssen nur ausgepackt werden. Die Header-Dateien sowie die Lib-Dateien werden am besten in je einem Ordner gesammelt. Dasselbe empfiehlt sich zunächst für die DLLs, die später aber entweder ins Systemverzeichnis von Windows oder - besser - in den Ordner kopiert werden, wo das ausführbare Anwendungsprogramm liegt.
SDL-Seite: SDL-devel-1.2.15-mingw32.tar.gz
SDL_image-Seite: SDL_image-devel-1.2.12-VC.zip
SDL_mixer-Seite: SDL_mixer-devel-1.2.12-VC.zip
Freetype 2
Freetype wird gebraucht, um TTF-Schriften darzustellen. Dazu dient die Library FTGL, die aber nicht installiert werden muss, weil die benötigten Funktionen direkt in den Quelltext von Bunnyhill integriert wurden. Aber Freetype ist erforderlich. Die Versionsbezeichnungen sind einigermaßen chaotisch; so gehört die Datei freetype6.dll m.W. zur Version Freetype 2.
Unter Linux sollte eigentlich die Library schon installiert sein, weil sie auch für andere Zwecke benötigt wird. Evtl. fehlt noch die Headerdatei. Wir immer unter Linux, wird alles automatisch an den richtigen Platz gebracht.
Unter Windows ist die Sache insofern komplizierter, weil es hier andere Verfahren für TTF-Schriften gibt. Freetype wird deshalb speziell für Unix-Systeme bereitgestellt. MinGW bringt m.W. die Freetype-Lib nicht mit, es gibt aber Windows-Versionen, die mit Codeblocks laufen. Hierzu einfach mal im Internet nach Freetype 2 suchen, und zwar nach einem Paket mit Setup-Programm, das alles benötigten Dateien enthält. Wenn ich mich richtig erinnere, wird noch die Headerdatei ft2build.h benötigt, die direkt im Include-Ordner für die Header-Dateien liegen sollte, währen die anderen Header von Freetype im Unterordner "freetype" untergebracht werden.