Clanlib unter Linux kompilieren und verwenden
In diesem Artikel zeige ich wie man die aktuellste ClanLib Version unter Linux baut und verwendet. Mittlerweile findet man die Engine auf GitHub, man kann bei der Weiterentwicklung helfen.
Clanlib unter Linux kompilieren und verwenden
Ich habe die ClanLib Engine in meinem Studium benutzt um die Übungsaufgaben umzusetzen. Jetzt, 12 Jahre später, verwende ich ClanLib um schnell Prototypen zu entwickeln. Die Engine eignet sich besonders gut um einfach 2D Visualisierungen mit C++ zu erstellen. Der erstellte Algorithmus kann danach relativ einfach in eine aktuelle Engine (wie zum Beispiel die Unreal Engine) übernommen werden. Die aktuelle Version 4.1 findet man unter diesem GitHub Repository.
Vorbereitungen
Alle folgenden Kommandos beziehen sich auf mein Testsystem, ein aktuelles Ubuntu Linux. Laut Dokumentation sind folgende Pakete zu installieren:
sudo apt-get install make g++ automake libtool libfreetype6-dev libfontconfig1-dev libgl1-mesa-dev libxrender-dev libasound2-dev doxygen git
Anmerkung: ich habe die Liste um git erweitert. Git nutzt man um das Repository von Github zu klonen.
Kompilieren
Die Engine wird mittels make gebaut. Um das passende Makefile zu bekommen sind nun folgende Steps notwendig:
autoupdate ./autogen.sh
abschließend noch das configure Skript ausführen:
./configure make
lässt die Engine nun mit dem installierten C++ Compiler bauen. Sofern die Konfigurationsschritte zuvor korrekt durchgeführt wurden endet der Vorgang nach einigen Minuten mit einer Erfolgsmeldung.
sudo make install
installiert die libs und die header im System (bei mir unter /usr/local/lib bzw. /usr/local/include), damit kann man nun eigene ClanLib Programme bauen.
Probleme
Sollte der Build Prozess mit folgendem Fehler abbrechen:
fatal error: X11/keysym.h: No such file or directory
dann muss man noch folgendes Paket installieren:
sudo apt install libx11-dev
sudo apt install pkg-config
Sollte das Beispiel nun bauen, dann nicht vergessen den PKG_CONFIG_PATH permanent den Umgebungsvariablen hinzuzufügen. Mit dem export Kommando ist der Pfad nur für die aktuell geöffnete Konsole konfiguriert. Sobald man diese schließt existiert das Problem wieder. Das Problem habe ich permanent behoben, indem ich bei meinem Ubuntu System in die Datei environment Datei verändert hatte:
sudo nano /etc/environment
und dort die Zeile
PKG_CONFIG_PATH=/usr/lib/pkgconfig
hinzufügen. Nach einem Neustart (unbedingt neu starten!) kennt jede neu geöffnete Konsole den Pfad und die make Kommandos finden ClanLib!
Dokumentation
Mit dem Befehlen
./configure --prefix=/usr --enable-docs make html
kann man noch die offizielle Dokumentation aus dem Source Code mit doxygen erstellen. Das ist für das offline Arbeiten mit der Engine durchaus hilfreich.
Fazit
Unter Windows ist ClanLib deutlich einfacher zu verwenden, eventuell ist das auch nur meine subjektive Erfahrung. Auf meinem Testsystem bin ich auf einige Probleme gestoßen. Ich habe jeden Blocker dokumentiert, damit ihr hier die Lösung finden könnt. Einmal fertig aufgesetzt kann man recht einfach System unabhängige Apps bauen die sehr effiziente 2D Renderings anzeigen können. ClanLib eignet sich deshalb bestens um Simulationen zu implementieren und anzuzeigen. Auch für Spiele eignet sich die Engine.