Basiskomponenten
Linux
Zunächst benötigt man natürlich eine C++-Compiler. Dazu benötigt man das Paket g++. Die beiden folgenden Bibliotheken werden expilizit installiert. Die anderen notwendigen Pakete werden automatisch mitinstalliert:- libwxbase3.0-dev
- libwxgtk3.0-gtk3-dev
sudo apt install libwxbase3.0-dev libwxgtk3.0-gtk3-dev g++Sie können feststellen, ob die Version installiert ist, indem Sie wx-config aufrufen:
wx-config --versionEs sollte eine Versionsnummer erscheinen.
Erstes Programm
Nachdem das geklappt hat, kann man ein minimales wx-Programm erstellen:#include <wx/wx.h> class MiniApp : public wxApp { public: virtual bool OnInit(); }; class Fenster : public wxFrame { public: Fenster(); }; wxIMPLEMENT_APP(MiniApp); bool MiniApp::OnInit() { Fenster *fenster = new Fenster(); fenster->Show(true); return true; } Fenster::Fenster() : wxFrame(NULL, wxID_ANY, "Hallo Welt") { CreateStatusBar(); SetStatusText("Dieses Programm ist sehr klein!"); }Die Übersetzung läuft über den folgenden Befehl:
g++ helloworld.cpp $(wx-config --cxxflags --libs) -o helloworldWenn der Compiler schweigt, geht es ihm gut. Das Programm helloworld sollte anschließend aufrufbar sein.
./helloworld
Code::Blocks
Die freie IDE Code::Blocks ist bereits auf den Betrieb mit wxWidgets vorgesehen. Unter Windows muss noch ein GNU C++-Compiler installiert und eingebunden werden. Unter Linux wird die Systeminstallation verwendet.Ein wxWidgets-Projekt wird so erzeugt:
- File|New|Project
- Unter Category nach wxWidgets project suchen und anwählen. Go anklicken.
- Welcome Dialog mit Next überspringen
- Widgets-Version auswählen
- Project title eigeben. Next
- Bei Bedarf den Autor eingeben. Next
- Der Application Type kann Dialog- oder frame-basiert ausgewählt werden.
Typischerweise wird man Frame Based auswählen.
Darüber kann man den GUI-Builder auswählen, wenn man einen verwenden will. Next - Auswahl des Compilers und der Release/Debug-Verzeichnisse. Next
- Konfigurationsdetails. Finish
Netbeans
Netbeans ist eigentlich eine Java-IDE. Darum ist eine Java Laufzeitumgebung (JRE) für deren Start notwendig.Um ein wxWidgets-Projekt anzulegen, werden folgende Schritte durchlaufen:
- ein neues Projekt (File|New Project) anlegen
- Unter Categories C/C++ unter Projects C/C++ Application auswählen. Next.
- Project Name: Hier wird der Projektname eingegeben. Finish.
- Projekt in der Projektliste mit der rechten Maustaste anklicken. Properties aus dem Menü wählen.
- Categories: Build|C++ Compiler
- Auf den Button hinter Include Directories klicken. Add anklicken.
Den Pfad für die include-Verzeichnisse wählen. Unter Linux:
/usr/include/wx-3.0
Ok anklicken. - Auf den Button hinter Additional Options klicken. In dem Feld unter
Additional options folgende Zeile eintippen:
$(wx-config --cxxflags)
oder
`wx-config --cxxflags`
eintippen. Die rückwärtigen Anführungzeichen sind wichtig! Ok anklicken.
- Auf den Button hinter Include Directories klicken. Add anklicken.
Den Pfad für die include-Verzeichnisse wählen. Unter Linux:
- Categories: Build|Linker
- Unter der Kategorie Libraries in der Zeile Libraries auf den Button klicken.
- Im Dialog auf Add Option klicken.
- In diesem Dialog Other Option anwählen und folgende Zeile eingeben:
$(wx-config --libs)
oder
`wx-config --libs`
eingeben. Ok. Noch einmal Ok.
- Mit OK die Properties schließen.
Visual Studio unter Windows
Für Visual Studio muss zunächst die wxWidget-Bibliothek als Source von www.wxwidgets.org/downloads heruntergeladen werden. Das geht am schmerzlosesten mit dem Setup-Programm, aber natürlich auch per ZIP-Datei und manuellem auspacken. Im weiteren Verlauf gehen wir davon aus, dass das Paket als C:/wxWidgets abgelegt wurde.Nun startet man den Developer Command Prompt von Visual Studio, wechselt damit in das wxWidgets-Verzeichnis und übersetzt die Bibliothek.
cd wxWidgets-3.1.3\build\msw nmake /f makefile.vc nmake /f makefile.vc BUILD=releaseAnschließend kann man im Visual Studio ein wxWidgets-Projekt übersetzen. Dazu:
- Windows-Desktopanwendung-Projekt wie für ein Win32-Projekt anlegen
- Den erzeugten Quellcode wegwerfen und stattdessen einen wxWidgets-Rahmen eingeben.
- Projekt-xxx-Einstellungen öffnen.
- Unter C++ - Allgemein - Zusätzliche Includeverzeichnisse eintragen:
C:/wxWidgets/include/msvcc C:/wxWidgets/include
- Unter Linker - Allgemein - Zusätzliche Bibliotheksverzeichnisse eintragen:
C:/wxWidgets/vc_lib
- Anschließend übersetzen.