wxWidgets-Tutorial 003 – wxWidgets auf Windows mit Visual Studio kompilieren und ein erstes Beispielprojekt

Dieses Video zeigt, wie man wxWidgets selbst auf Windows mit Hilfe von Visual Studio (nicht Visual Studio Code) kompilieren und benutzen kann.

wxWidgets auf Windows mit Visual Studio kompilieren und ein erstes Beispielprojekt
wxWidgets auf Windows mit Visual Studio kompilieren und ein erstes Beispielprojekt

Zuerst muss das wxWidgets.zip für Windows heruntergeladen werden. Unter build öffnet man dann die zum installierten Visual Studio passende Projektdatei. Dann kompliert man (Projektmappe erstellen) für mindestens folgende Plattformen:

  • Win32 / Debug
  • Win32 / Release
  • x64 / Debug
  • x64 / Release

In den Projekteinstellugen des eigenen Projekts stellt man die Konfiguration für Plattform und Modus auf Alle. Dann fügt man die Include-Verzeichnisse (include und include/msvc) hinzu. Unter System wird von Console auf Windows umgestellt. Abschließend wählt man Win32 aus und fügt den entsprechenden Bibliothekspfad hinzu. Das selbe mit x64.

Ich zeige das genau in dem Video.

Hier noch der Quelltext unserer Testanwendung:

#include <wx/wx.h>

class MyApp : public wxApp {

	public:
		bool OnInit();

};

class MyFrame : public wxFrame {

	public:
		MyFrame();

};

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit() {
	MyFrame *myFrame = new MyFrame;
	myFrame->Show();
	SetTopWindow(myFrame);

	return true;
}

MyFrame::MyFrame() : wxFrame(nullptr, wxID_ANY, "Meine wx-App") {
	wxStaticText *staticText = new wxStaticText(this, wxID_ANY, "Hello World");
}

So sieht es dann aus:

Das Beispielprojekt unter Windows mit Visual Studio
Das Beispielprojekt unter Windows mit Visual Studio

Wer nicht Visual Studio benutzen möchte, kann hier einmal nachsehen, wie man wxWidgets ohne Visual Studio kompiliert.

Hier geht es zum Video.

YouTube-Video-Kurztipp: Lazarus und FreePascal

Viele mögen das gar nicht auf dem Schirm haben. Neben Rust, Go, Kotlin, TypeScript, Lua und wie sie alle heißen, gibt es auch die alten Vertreter. Klar, Java, C, C++, C#, Assembler … aber auch Pascal.

Lazarus und FreePascal
Lazarus und FreePascal

In diesem Video gehe ich kurz darauf ein, worum es bei FreePascal und Lazarus geht. Ich wünsche viel Spaß.

Lazarus Text-Editor
Lazarus Text-Editor

Hier geht es zum Video.

Neue Video-Tutorial-Reihe zu wxWidgets?

Ich habe gesehen, dass es etliche englische Tutorials zu wxWidgets gibt, wenig bis eigentlich gar keine in deutscher Sprache. Deshalb hier die Frage: Interessiert das den einen oder anderen von euch? Dann würde ich einmal ein Tutorial dazu machen. In diesem Video zeige ich, wie einfach es ist, einzusteigen.

wxWidgets-Tutorial: Besteht Interesse an einem Tutorial über wxWidgets?
wxWidgets-Tutorial: Besteht Interesse an einem Tutorial über wxWidgets?

In dem Video zeige ich, wie man ein einfaches Fenster mit ein paar Elementen erstellen kann und wie man das erste Event auslöst. Nichts großes, aber macht euch einmal einen Eindruck darüber.

Beispielfenster
Beispielfenster

Hier geht es zum Video.

FreeBSD-Grundkurs 026: Die grafische Benutzeroberfläche (GUI) – Installation von Xorg und XFCE

Auch, wenn es aus dem Konzept ist: aufgrund der Nachfragen zeige ich, wie man schnell und einfach Xorg und XFCE installieren und benutzen kann (mit deutschen Einstellungen).

Die grafische Benutzeroberfläche - Installation von Xorg und XFCE
Die grafische Benutzeroberfläche – Installation von Xorg und XFCE

Letztlich sind die Schritte einfach. Wir nehmen ein aktuelle und vollständig durchgepatchtes FreeBSD (in meinem Fall FreeBSD 13.1-RELEASE-p2) und installieren folgende Pakete:

pkg install xorg xfce slim

Dann konfigurieren wir noch, dass dbus und slim beim Starten des Betriebssystem automatisch starten sollen:

service slim enable
service dbus enable

Wir erstellen die Datei “/usr/local/etc/X11/xorg.conf.d/keyboard-de.conf” mit folgendem Inhalt:

Section "InputClass" 
    Identifier    "KeyboardDefaults" 
    MatchIsKeyboard    "on" 
    Option        "XkbLayout" "de" 
EndSection

Dann legen wir für den Benutzer oder die Benutzer, die XFCE verwenden wollen, im Home-Verzeichnis eine Datei mit dem Namen “.xinitrc” an, die folgenden Inhalt hat:

export LANG=de_DE.ISO8859-15
. /usr/local/etc/xdg/xfce4/xinitrc

Das war es schon. Einmal durchstarten (oder alle Dienste per Hand starten) und man kann sich ins System einloggen.

Wer das, wie ich, in VirtualBox macht, dem empfehle ich noch die VirtualBox-Guest-Additions:

pkg install virtualbox-ose-additions
service vboxguest enable
service vboxservice enable

So sieht dann das Ergebnis aus:

XFCE mit Xorg auf FreeBSD in VirtualBox
XFCE mit Xorg auf FreeBSD in VirtualBox

Hier geht es zum Video.

YouTube-Video-Kurztipp: Firebird 4 Datenbankserver auf FreeBSD installieren

Weniger ein Kurztipp als eher eine Anleitung für mich, falls das nochmal vorkommen sollte. Ich zeige, wie man flott Firebird 4 auf FreeBSD installiert.

Firebird 4 Datenbankserver: Installation auf FreeBSD
Firebird 4 Datenbankserver: Installation auf FreeBSD

Hier mal die Kurzanleitung:

# pkg install -y firebird40-server

# cp /usr/local/etc/firebird/firebird.conf.sample /usr/local/etc/firebird/firebird.conf
# service firebird enable
# service firebird start

# mkdir -p /server/database/firebird && chown -R firebird:firebird /server/database/firebird
# su - firebird
# isql-fb -user SYSDBA /var/db/firebird/security4.fdb
$ CREATE USER SYSDBA PASSWORD 'StrongPassword';
$ CREATE DATABASE '/server/database/firebird/mytest.fdb' page_size 8192;
$ exit;

Hier sieht man die funktionierende Verbindung in DBeaver:

Firebird-4-Verbindung in DBeaver

Hier geht es zum Video.

YouTube-Video-Kurztipp: PostgreSQL-Upgrade von 13 auf 14 unter FreeBSD

Auch ein Datenbankserver sollte ab und an mal ein Update oder ein Upgrade bekommen. In diesem Video zeige ich, wie einfach es ist, von PostgreSQL-Version 13 auf 14 zu aktualisieren.

Systemadministration: PostgreSQL-Upgrade - Von Version 13 auf 14 unter FreeBSD
Systemadministration: PostgreSQL-Upgrade – Von Version 13 auf 14 unter FreeBSD

Kurz skizziert:

service postgresql stop

mv /server/database/postgres /server/database/postgres.13
mkdir /server/database/postgres
chown -R postgres:postgres /server/database/postgres

pkg create postgresql13-server
mkdir /tmp/pg-upgrade
tar xf postgresql13-server-13.7_1.pkg -C /tmp/pg-upgrade

pkg delete -f postgresql13-server postgresql13-client

pkg install postgresql14-server

service postgresql initdb

su -l postgres -c "pg_upgrade -b /tmp/pg-upgrade/usr/local/bin/ -d /server/database/postgres.13/ -B /usr/local/bin/ -D /server/database/postgres -U postgres"

cp /server/database/postgres.13/pg_hba.conf /server/database/postgres/pg_hba.conf
cp /server/database/postgres.13/postgresql.conf /server/database/postgres/postgresql.conf
Übersicht des Upgrades
Übersicht des Upgrades

Hier geht es zum Video.