Serie: DOSBox unter Windows kompilieren 8/10
Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.
In diesem Artikel wird die auf SDL basierende Soundbibliothek SDL_sound kompiliert. Diese wird benötigt, um z.B. CD Images mit OGG Dateien als Audio Tracks mounten zu können. Die SDL_sound Bibliothek unterstützt von Haus aus das MP3 Format. Um Ogg Vorbis Dateien abspielen zu können, müssen erst einige zusätzliche Bibliotheken heruntergeladen und kompiliert werden.
Zunächst müssen die Dateien der folgenden Tabelle heruntergeladen und in das Heimvereichnis von MSYS kopiert werden:
Paket | Beschreibung | Link |
---|---|---|
libogg | Container für z.B. Vorbis Musikdateien. | libogg-1.1.3 |
libvorbis | Vorbis Musik-Komprimieralgorithmus | libvorbis-1.2.2rc1 |
SDL_sound | Auf SDL basierende Musikbibliothek. | SDL_sound-1.0.3 |
Die OGG Bibliothek kann ohne grössere Umstände entpackt und kompiliert werden.
tar xvzf libogg-1.1.3.tar.gz
mkdir libogg-build
cd libogg-build
../libogg-1.1.3/configure --prefix=/mingw && make && make install
cd ..
Die hier verwendete Version von libvorbis ist eigentlich ein Release Candidate. Also eine Version die zwischen Betaversion und offiziell veröffentlich ist. Der Grund für diese Wahl ist die mangelnde Unterstützung für MinGW in der offiziell verfügbaren Version.
tar xvjf libvorbis-1.2.2rc1.tar.bz2
mkdir libvorbis-build
cd libvorbis-build
../libvorbis-1.2.2/configure --prefix=/mingw && make && make install
cd ..
Versucht man das SDL_sound Paket unter MinGW zu kompilieren, funktioniert dies nicht, da gewisse Headerdateien mehrfach referenziert werden. Um dieses Problem zu umgehen müssen mit SED Anpassungen am Sourcecode vorgenommen werden.
cd
tar xvzf SDL_sound-1.0.3.tar.gz
mkdir SDL_sound-build
cd SDL_sound-build
for a in mpglib/mpg123_sdlsound.h timidity/tables.h;do
sed -e "s/#include.*
//g" ../SDL_sound-1.0.3/decoders/${a}>/tmp/gaga
cat /tmp/gaga > ../SDL_sound-1.0.3/decoders/${a}
rm /tmp/gaga
done
../SDL_sound-1.0.3/configure --prefix=/mingw && make && make install
cd ..
Da nun alle Abhängigkeiten erzeugt wurden, wird im neuten Teil dieser Artikelserie endlich die DOSBox kompiliert.
Ich bin gerade beim Kompilieren meiner Dosbox (nochmals danke für die Anleitung :)) und habe festgestellt, dass der Link zu libvorbis nicht mehr funktioniert.
Hier gibt es Abhilfe: http://xiph.org/downloads/
Besten Dank für den Link thEClaw. Ich lasse das mal so im Kommentar stehen. Ich habe damals ja ganz spezifisch die 1.2.2rc1 ausgewählt und keine «offizielle». Wenn ich mal wieder dazu komme das ganze mit den neusten Versionen zu testen, würde ich den Link oben anpassen.
Hier hatte ich meine größten Probleme als Newbie in der «Entwicklung». Der sed-Befehl muss in einer Zeile geschrieben werden. ->
sed -e «s/#include.*//g» ../SDL_sound-1.0.3/decoders/${a}>/tmp/gaga
LG
donald