|
|
| Code::Blocks: wxWidgets verwenden |
|
1. Zuerst
müssen Sie sich hierbei den neuesten
plattformunabhängigen Quellcode von wxWidgets (als ZIP-Paket)
von http://wxwidgets.org/downloads/
(wählen Sie wxAll)
herunterladen. Entpacken Sie als nächstes das Paket
in ein
Verzeichnis Ihrer Wahl. In meinem Fall ist dies im Verzeichnis C:\wxWidgets-2.8.10.
Hinweis: Wenn Sie die Systemvariablen für MinGW bereits im Abschnitt Boost verwenden gesetzt haben, können Sie hier auf die Schritte 2 bis 5 verzichten und gleich mit Schritt 6 fortfahren. 2. Im Gegensatz zum Visual C++-Compiler dürfte es eher unwahrscheinlich sein, dass die Umgebungsvariable PATH für den MinGW-Compiler richtig eingerichtet ist. Dies ist übrigens ein häufiges Problem, warum es nicht klappt, Bibliotheken mit MinGW zu bauen. Suchen Sie sich also zunächst den Pfad, wo MinGW installiert ist. Sollten Sie MinGW gleichzeitig mit Code::Blocks installiert haben, finden Sie den Pfad im Verzeichnis von Code::Blocks. Ich habe MinGW nachträglich installiert und somit lautet mein bin-Verzeichnis zum Compiler und Linker C:\MinGW\bin und zum libexec-Verzeichnis C:\MinGW\libexec\gcc\mingw32\3.4.5. 3. Jetzt müssen Sie die Systemeigenschaften öffnen (bspw. über Systemsteuerung * System * Erweiterte Systemeinstellungen oder Arbeitsplatz * Eigenschaften). Beim sich öffnenden Dialog Systemeigenschaften finden Sie einen Reiter Erweitert und darunter eine Schaltfläche Umgebungsvariablen..., welche Sie jetzt anklicken dürfen. ![]() 4. Jetzt müssen Sie bei Systemvariablen (Achtung nicht gleichzusetzen mit den Benutzervariablen für User) eine neue Variable bei Path hinzufügen. Vermutlich werden hierbei schon eine ganze Menge an Pfaden vorhanden sein. Wählen Sie entweder Path in der Liste aus und klicken Sie auf Bearbeiten, oder falls Path bereits existiert, klicken Sie auf die Schaltfläche Neu. ![]() 5. Fügen Sie jetzt die Pfade zum bin- und libexec-Verzeichnis ans Ende aller (falls mehrer Pfade bereits vorhanden sind) Path-Variablen. Beachten Sie, dass Sie die einzelnen Pfade mit einem Semikolon trennen müssen. Bestätigen Sie den Dialog mit der Schaltfläche Ok. ![]() 6. Um wxWidgets zu bauen, benötigen Sie die Kommandozeile (cmd.exe). Wechseln Sie jetzt mit cd in das build-Verzeichnis, wo Sie das heruntergeladene wxWidgets entpackt haben (in meinem Fall ist dies C:\wxWidgets-2.8.10\build\msw). msw steht hier für Microsoft Windows. Hinweis: Mehr und genaueres zum Bauen von wxWidgets für Code::Blocks finden Sie auf der Wiki-Webseite http://wiki.wxwidgets.org/CodeBlocks_Setup_Guide. ![]() 7. In diesem Verzeichnis finden Sie jetzt eine Makefile mit dem Namen makefile.gcc. Mithilfe dieser Datei können wir unsere wxWidgets-Bibliothek mit mingw32-make.exe bauen lassen. Zunächst wollen wir das Projekt mit clean auf das nötigste reduzieren (bzw. säubern; bereinigen) um anschließend das Projekt neu zu bauen. Setzen Sie als zunächst folgenden Befehl ab: ![]() 8. Anschließend können Sie wxWidgets in der Kommandozeile mit folgender Zeile bauen (und sich mindestens eine Tasse Tee holen): mingw32-make.exe -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 ![]() Hinweis: Nach dem Bauen finden Sie im lib-Verzeichnis ein
weiteres Verzeichnis mit dem Namem gcc_dll
(bei mir hier C:\wxWidgets-2.8.10\lib\gcc_dll)
wo Sie die fertigen Bibliotheksdateien finden.
Selbstverständlich können Sie jetzt hergehen und
diese
Dateien in ein anderes Verzeichnis (bspw. ins MinGW-Verzeichnis)
verschieben. Vergessen Sie hierbei allerdings nicht die Headerdateien
(bei mir im Verzeichnis C:\wxWidgets-2.8.10\include).
9. Nachdem
Sie wxWidgets selbst "gebaut"
haben, können Sie anfangen,
Anwendungen mit wxWidgets zu erstellen. Da hier für das
Verzeichnis
von Boost C:\wxWidgets-2.8.10
verwendet wurde (und die Dateien nicht woanders hinkopiert wurden),
finden Sie dort im Verzeichnis C:\wxWidgets-2.8.10\include die
Headerdateien und im Verzeichnis C:\wxWidgets-2.8.10\lib\gcc_dll
die
Bibliotheken. Voraussetzung, dass Sie Anwendungen mit wxWidgets
erstellen können, ist, dass Sie ein neues Projekt mit
Code::Blocks
erstellen. Hier soll das Beispiel aus dem Kapitel 10.3.2 vom Buch
übersetzt
werden. Erstellen Sie daher zunächst ein neues
Projekt wie
gewohnt über das Menü File * New * Project.
![]() 10. Wählen Sie anschließend im Dialog New from template das Icon wxWidgets project aus und klicken Sie auf die Schaltfläche Ok. ![]() 11. Als nächstes erfolgt wie gewohnt der Wizard-Dialog, wo Sie mit der Schaltfläche Next zum nächsten Dialogfenster springen können. ![]() 12. Im
nächsten Dialog wählen Sie die Version für
wxWidets
aus, die Sie zuvor gebaut haben. Im Beispiel wurde eine 2.8er-Version
(bei mir genau 2.8.10) erstellt und die wir hier auch
auswählen.
Ältere Versionen, wie hier mit 2.6.x sind nicht unbedingt zu
empfehlen. Auch eine neuere unstabile Beta-Versionen, wie hier mit
2.9.x, kann ausgewählt und verwendet werden. Klicken
Sie
anschließend auf die Schaltfläche Next.
![]() 13. Jetzt
können Sie wie gewohnt im nächsten Dialog den Titel (Project title) und
das Verzeichnis (Folder
to create project in)
für das neue Projekt angeben. Die anderen beiden Textfelder
werden
dadurch automatisch gefüllt. Klicken Sie
anschließend auf Next.
![]() 14.
Wollen Sie Details, wie Ihren Namen, E-Mail-Adresse und Ihre
Webseite angeben, können Sie dies im nächsten Dialog
machen.
Diese Details werde mit in das Projekt aufgenommen. Weiter geht es mit
der Schaltfläche Next.
![]() 15. Im
nächsten Dialog müssen Sie Auswählen ob Sie
Ihre Anwendung mit einen der RAD-Tools (Preferred GUI Builder)
wie wxSmith
oder wxFormBuilder
erstellen wollen, oder den Code "manuell" eintippen wollen.
Für
die manualle Eingaben müssen Sie die
Radioschaltfläche None
auswählen. Hierbei sind dann die beiden
Radioschaltflächen von Application
Type nebensächlich. Mit Next geht es weiter
zum nächsten Dialogfenster.
Hinweis: Ein sehr gutes Tutorial zum GUI-Builder wxSmith finden Sie auf dieser Webseite: http://wiki.codeblocks.org/index.php?title=WxSmith_tutorials ![]() 16. Die
Schritte 16 und 17 müssen Sie nur erstmalig
durchführen, um
Code::Blocks mit den Headerdateien und Bibliotheken von
wxWidgets
bekannt zu machen. Beim nächsten wxWidget-Projekt brauchen Sie
lediglich auf die Schaltfläche Next klicken. Steht
hier die Zeichenfolge $(#wx)
so weiß Code::Blocks noch nicht, wo sich wxWidget befindet.
Klicken Sie daher beim erstmaligen Einrichten die Schaltfläche
mit
den drei Punkten (...)
neben dem Textfeld von wxWidgets'
location.
![]() 17. Jetzt
öffnet sich ein Fenster mit dem Titel Global Variable Editor,
wo Sie angeben können, wo sich wxWidgets auf Ihrem System
befindet. Ich habe bspw. wxWidgets im Verzeichnis C:\wxWidgets-2.8.10
gebaut und gebe daher dieses Verzeichnis bei base
an. Mit der Schaltfläche mit den drei Punkten können
Sie
sich dieses Verzeichnis auch bequem auswählen. Ebenso habe ich
hier die
Angaben zum include-Verzeichnis
und lib-Verzeichnis,
wo sich die Headerdateien und nötigen Bibliotheken befinden,
angegeben. Sollten sich diese Daten mal ändern, weil Sie bspw.
eine neuere oder andere Version von wxWidgets gebaut haben oder
wxWidgets in ein
anderes Verzeichnis kopiert haben , können Sie dieses Fenster Global Variable Editor jederzeit
nachträglich über das Menü Settings * Global variables... aufrufen
und die Angaben wieder ändern.
![]() Ggf. werden Sie anschließend im Dialog wxWidgets project nochmals abgefragt, dass oberste Wurzelverzeichnis auszuwählen, wo sich wxWidgets bei Ihnen befindet. ![]() 18. Im
nächsten Fenster können Sie den Compiler
auswählen, den Sie für das Projekt verwenden wollen.
Standardmäßig dürfte diese GNU GCC
Compiler
(MinGW) sein. Hierbei können Sie auch
einstellen, ob Sie eine Debug-
und/oder Release-Version
des Projekts erstellen wollen und ein Häkchen davor
setzen. Sie können dabei auch
das Verzeichnis ändern, wo (ausgehend vom Verzeichnis welches
Sie
für Folder to
create project in im Schritt 13 zuvor verwendet haben)
sich anschließend das ausführbare Programm befinden
soll.
![]() 19.
Im nächsten Fenster können Sie einige
Konfigurations-Optionen
für das Projekt setzen. Diese Einstellungen sind tlw. davon
abhängig, wie Sie die wxWidgets-Bibliothek gebaut haben.
Eine DLL haben wir gebaut, ebenso wie die Monolithische
Bibliothek. Unicode haben wir nicht, daher können wir die
Checkbox
nicht aktivieren. Bei den weiteren Settings können Sie
außerdem Create
Empty Project auswählen. Weiter geht es wieder
mit der Schaltfläche Next.
![]() 20. Zwei
neue Dateien für base.cpp
und base.h können
Sie jetzt, wie im Abschnitt Mehrere
Quelldateien- und Headerdateien übersetzen mit
den Schritten 8 bis 13 beschrieben wurde,
hinzufügen. Jetzt können Sie den
Quellcode eingeben (oder eben per Copy & Paste in die
entsprechenden Dateien einfügen).
![]() 21. Am Ende können Sie das Projekt wie gewohnt mit Build * Build and run (bzw. F9) übersetzen und ausführen. Das Programm bei der Ausführung: ![]() |




















