sitemap link mailform link home

GUI mit Code::Blocks und WXSmith

Nachtrag vom 16.4.2020:

Hier eine exzellente Anleitung, wie man CodeBlocks und wxWidgets offenbar auf Windows zum Laufen bekommt:

Externer Link http://www.bitart.at/codeblocks-und-wxwidgets/

Kurzanleitung für wxSmith (englisch):

Externer Link https://www.codeproject.com/Articles/803106/Introduction-to-wxWidgets-GUI-programming-with-wxS

Nachtrag vom 10.4.2020:

Raspbian Buster + Raspoberry Pi 4: codeblock-contrib lässt sich nicht installieren, da eine Bibliothek fehlt.

Hotfix:

wget  http://ftp.de.debian.org/debian/pool/main/h/hunspell/libhunspell-1.4-0_1.4.1-2+b2_armhf.deb

sudo dpkg -i libhunspell-1.4-0_1.4.1-2+b2_armhf.deb

sudo apt install codeblocks-contrib

--------------------------------------------------------------------------------------------------------------------

Beitrag vom 22. Januar 2016:

WxWidgets ist eine umfangreiche Bibliothek für die Erstellung grafischer Programmoberflächen.
Das bedeutet aber auch, dass sozusagen ein Host-Programm vorhanden sein muss, um WxWidgets nutzen zu können.
Dafür bietet sich Code::Blocks IDE an, da diese IDE auf Windows und Linux lauffähig ist.

Installation CodeBlocks +WxWidgets auf Raspbian (mit Raspbian Wheezy und Jessie getestet)

1. Code::Blocks IDE mit Hilfe der Konsole LXTerminal installieren:

 sudo apt update                                

 sudo apt upgrade                                

 sudo apt install codeblocks                 

Allerdings befindet sich im Wheezy-Repository eine ältere Code::Blocks- Version (10.05):
Die ältere Version funktioniert aber problemlos zusammen mit WxWidgets in Raspbian Wheezy.

2.Nun wird WxWidgets (GUI-Bibliothek) installiert. Die folgenden Bibliotheken (libraries) müssen dafür mit Hilfe der Konsole Konsole LXTerminal installiert werden:

 sudo apt install libwxgtk2.8.dev            (for compiling)

oder:  sudo apt install libwxgtk2.8-dev     siehe Anmerkung!

 sudo apt install libwxgtk2.8.0                (the runtime library)

 sudo apt install libwxgtk2.8.dbg            (for debugging).

Anmerkung vom 13. August 2018: Von einem Leser bekam ich den Hinweis, dass die Compiling-Bibliothek nicht libwxgtk2.8.dev sondern libwxgtk2.8-dev heißt!

Nun brauchen wir noch WXSmith (GUI-Designer-Plugin für Codeblocks):

Siehe Nachtrag ganz oben!

 sudo apt install codeblocks-contrib         

Für die Programmierung der (großen) GPIO-Schnittstelle des Raspberry Pi B+ benötigt man noch die Bibliothek wiringPi. Diese muss ebengfalls installiert werden:

 sudo apt install wiringPi                         

Starten Sie nun Code::Blocks als Root:

 sudo codeblocks                                         

Root ist wichtig, weil sonst die Hardware-Ansteuerung über die GPIO-Schnittstelle nicht funktioniert!

Wir wählen nun ein neues Projekt mit New - Project.

Wir wählen als GUI-Designer wxWidgets project:

wxWidgets

Hier kann man auswählen, dass dieses Fenster zukünftig nicht angezeigt wir (skip...):

wxWidgets

wxWidgets-Version 2.8 auswählen:

wxWidgets

Projekttitel und Ordner wählen - Projektnamen eingeben:

wxWidgets

Nun kann man noch seine Entwickler-Kontaktdaten eingeben:

wxWidgets

Hier wollen wir unbedingt wxSmith als GUI Builder haben:

wxWidgets

Die Compiler-Konfiguration lassen wir unverändert:

wxWidgets

Das lassen wir auch unverändert:

wxWidgets

Nun Finish klicken und kurz warten.

Das wxWidgets-Demoprojekt, das nun erscheint, besteht aus nur zwei Buttons:

wxWidgets

Nach dem Compilieren und Linken mit "Build and Run" (das dauert etwas)

wxWidgets

muss nun ein kleines Fenster erscheinen - das fertig compilierte und gestartete Programm:

wxWidgets

Super, wenn das schon mal alles geklappt hat!

Da wir die Bibliothek wiringPi verwenden wollen, müssen wir noch die Compiler-Settings bearbeiten. Anm.: Was man hier im Hintergrund sieht, ist ein einfaches C-Konsole-Projekt.

CodeBlocks

Unter Other linker options tragen wir ein -lwiringPi:

CodeBlocks

Nun ist alles bereits, um eine LED an der GPIO-Schnittstelle blinken zu lassen.
Mehr dazu auf der nächsten Seite.

.

Letzte Änderung:
July 08. 2020 15:12:49
«    top    »