Programmieren: wxWidgets & SDL

wxWidgets GUI-Programmierung

wxWidgets ist eine portable (Windows, Linux, Mac) GUI-Klassenbibliothek für C++.

Webseite von wxWidgets:

Das ist mein wxWidgets-"Hello"-Programmbeispiel: wxw-hello.cpp

WxWidgets unter Windows

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++ (gccTDM) und Microsoft Visual Studio (vc).
Zusätzlich braucht man noch die Header-Files (siehe README).

Diese Anleitung für CodeBlocks beschreibt alles Nötige.
Die Anleitung für Dev-C++ ist etwas älter und nicht mehr gepflegt.

 

SDL Grafik-Programmierung

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.

An der DHGE ist die SDL in den Rechnerräumen bereits vorhanden. Man braucht also nur die beiden oben genannten sdlinterf-Files. Wie man damit unter CodeBlocks ein SDL-Programm zum Laufen bringt, ist in dieser Installationsanleitung (DHGE) beschrieben.

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").

Achtung:

Mein Zip-File enthält die 32-bit-Version der SDL!

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 gebastelt, aber er ist nicht getestet.

Achtung:

Ich habe im Sommer 2014 von SDL Version 1.x auf Version 2.x umgestellt!

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.)

Input bei Verwendung von sdlinterf

... siehe hier!

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!)

Ein Programm, das mit CodeBlocks gemäß meiner Installationsanleitung DHGE erstellt wurde, kommt von vornherein ohne SDL2.dll aus.

 
Home