SDL ist eine portable (Windows, Linux, Mac, ...) C-Bibliothek zum Anzeigen von Grafiken auf Pixel-Ebene.
Wir greifen in unseren Übungsprogrammen allerdings nicht direkt auf die SDL zu: Ich stelle zwei Files sdlinterf.h und sdlinterf.c zur Verfügung. Diese enthalten die Grafik-Funktionen, die wir verwenden, und rufen intern die SDL auf.
Wie man damit unter CodeBlocks ein SDL-Programm zum Laufen bringt, ist in dieser Installationsanleitung (DHGE) beschrieben.
Ein .exe-File, der mit CodeBlocks gemäß dieser Installationsanleitung DHGE erstellt wurde, kommt zur Laufzeit ohne SDL2.dll aus (im Unterschied zur NTA-Variante) und kann daher auch ohne SDL-Installation in andere Verzeichnisse oder auf andere Rechner kopiert und dort ausgeführt werden.
Hier gibt es ein kleines Demo-Programm, mit dem man das Anlegen und Ausführen eines SDL-Projektes testen kann: demo0.c
Die SDL ist an der NTA in den Rechnerräumen unter Windows nicht vorinstalliert. Wir kopieren sie daher lokal zur jeweiligen Übung dazu. Für DevCpp habe ich folgendes Zip-File gebastelt, das nach dieser Installationsanleitung (NTA) zu verwenden ist.
Auf der SDL-Download-Page gibt es auch ein Paket für Microsoft Visual Studio (wir brauchen die "Development Libraries", nicht die "Runtime Binaries").
Die 32-bit-Version funktioniert auch mit einem 64 bit Windows, aber man muss im DevCpp den 32 bit Compiler ("MinGW32") verwenden, nicht den 64 bit Compiler ("TDM-GCC x64") .
Kommen seltsame Fehler vom Linker ("... skipping ..."), passen Compiler und SDL-Version vermutlich nicht zusammen.
Ich habe auch einen Zip-File mit 64-Bit-SDL für DevCpp gebastelt, aber er ist nicht getestet.
An unseren Programmen bzw. Musterlösungen ändert sich dadurch nichts, aber sdlinterf.c, mein Zip-File und die Installation haben sich verändert.
(Hier gibt es noch den alten Zip-File und die alte Installationsanleitung mit Version 1.2 der SDL.)
Für .exe-Files vom DevCpp, die ohne separate SDL2.dll laufen sollen:
libSDL2-32.a oder
libSDL2-64.a
(siehe Installationsanleitung NTA, letzte Seite!)
... siehe hier!
wxWidgets ist eine portable (Windows, Linux, Mac) GUI-Klassenbibliothek für C++.
Webseite von wxWidgets:
Das ist mein wxWidgets-"Hello"-Programmbeispiel: wxw-hello.cpp
Sich einfach das WxWidgets-Setup für Windows von der WxWidgets-Homepage runterzuladen,
ist aus zwei Gründen eine ganz schlechte Idee:
Seit neuestem gibt es hier fertig kompilierte Libraries
für Dev-C++ (gcc oder gccTDM) und Microsoft Visual Studio (vc).
Zusätzlich braucht man noch die Header-Files (siehe README).
Diese Anleitung für CodeBlocks (DHGE)
beschreibt alles Nötige.
Die Anleitung für Dev-C++ (NTA)
ist etwas älter und nicht mehr gepflegt.