wxWidgets
wxWidgets ist ein Anwendungsentwicklungs-Framework/eine Bibliothek, die es Entwicklern ermöglicht, plattformübergreifende GUI-Anwendungen für Windows, Mac und Linux unter Verwendung derselben Codebasis zu erstellen.
Es ist hauptsächlich in C++ geschrieben, hat aber auch Bindungen für andere Sprachen wie Python, Perl und Ruby.
In diesem Tutorial zeige ich Ihnen, wie Sie wxwidgets 3.0+ auf Debian-basierten Linux-Systemen wie Ubuntu und Linux Mint kompilieren und bauen.
Das Kompilieren von wxWidgets aus dem Quellcode ist überhaupt nicht schwierig, wie es sich vielleicht anhört, und dauert nur wenige Minuten.
Die Bibliothek kann in verschiedenen Modi wie statische Bibliothek oder dynamische Bibliothek kompiliert werden.
1. Laden Sie wxWidgets herunter
Der erste Schritt wäre das Herunterladen der wxWidgets-Quelldateien von wxwidgets.org
Wenn Sie fertig sind, extrahieren Sie die Dateien in ein Verzeichnis.
2. Bauumgebung einrichten
Um wxwidgets zu kompilieren, benötigen wir einige Dienstprogramme, darunter den C++-Compiler unter Linux namens g++. Und alles würde aus den Repositories mit apt-get installiert.
Wir brauchen auch die GTK-Entwicklungsbibliotheken, von denen wxWidgets abhängig sind.
$ sudo apt-get install libgtk-3-dev build-essential checkinstall
The utility called checkinstall would allow us to create an installation package for wxwidgets, so that later on it can un-installed easily using package managers
3. wxWidgets kompilieren
Gehen Sie in das Verzeichnis, in dem wxWidgets extrahiert wird. Um die Dinge sauber zu halten, erstellen Sie ein Verzeichnis, in dem die Kompilierung erfolgen würde.
$ mkdir gtk-build $ cd gtk-build/
Führen Sie nun nacheinander die Befehle configure und make aus. Jeder würde einige Zeit brauchen, um fertig zu werden.
$ ../configure --disable-shared --enable-unicode $ make
Die Option "--disable-shared" weist wxwidgets an, statische Bibliotheken anstelle von gemeinsam genutzten/dynamischen zu erstellen.
Nach Abschluss des Befehls make ist die Kompilierung erfolgreich abgeschlossen. Es ist an der Zeit, die wxWidgets-Dateien an der richtigen Stelle zu installieren.
Weitere Informationen zu Kompilierungsoptionen finden Sie in den Dateien install.txt und readme.txt, die sich unter /docs/gtk/ im Verzeichnis wxwidgets befinden.
4. Mit checkinstall installieren
Anstatt den Befehl „make install“ zu verwenden, verwenden wir nun den Befehl checkinstall, um ein deb-Paket für wxwidgets zu erstellen. Führen Sie den folgenden Befehl aus
$ sudo checkinstall
Checkinstall würde während des Prozesses einige Fragen stellen und sicherstellen, dass Sie eine Versionsnummer angeben, wenn Sie danach gefragt werden, sonst würde es fehlschlagen.
Sobald der Vorgang abgeschlossen ist, wird wxWidgets installiert und im selben Verzeichnis wird auch eine deb-Datei erstellt.
5. Verfolgen Sie die installierten Dateien
Wenn Sie überprüfen möchten, wo die Dateien installiert sind, verwenden Sie den Befehl dpkg, gefolgt vom Namen des Pakets, das während des Checkinstall-Prozesses bereitgestellt wird.
$ dpkg -L package_name /. /usr /usr/local /usr/local/lib /usr/local/lib/libwx_baseu-3.0.a /usr/local/lib/libwx_gtk3u_propgrid-3.0.a /usr/local/lib/libwx_gtk3u_html-3.0.a /usr/local/lib/libwxscintilla-3.0.a /usr/local/lib/libwx_gtk3u_ribbon-3.0.a /usr/local/lib/libwx_gtk3u_stc-3.0.a /usr/local/lib/libwx_gtk3u_qa-3.0.a /usr/local/lib/libwx_baseu_net-3.0.a /usr/local/lib/libwxtiff-3.0.a
6. Kompilieren Sie die Beispiele
Nach dem Kompilieren von wxWidgets ist es an der Zeit, die Beispielprogramme zu kompilieren, um es in Aktion zu sehen. In demselben Verzeichnis, in dem wir wxwidgets kompiliert haben, wäre ein neues Unterverzeichnis namens samples erstellt worden.
Geben Sie es einfach ein und führen Sie den make-Befehl
aus$ compile samples $ cd samples/ $ make
Nachdem der Make-Prozess abgeschlossen ist, gehen Sie in jedes Beispiel-Unterverzeichnis und es sollte eine ausführbare Datei geben, die sofort ausgeführt werden kann, um die Demo zu sehen.
7. Kompilieren Sie Ihr erstes Programm
Nachdem Sie mit den Demoprogrammen fertig sind, ist es an der Zeit, Ihr eigenes Programm zu schreiben und zu kompilieren. Wieder ist es ganz einfach.
Es wird davon ausgegangen, dass Sie in C++ programmieren und dafür jeden guten Editor mit Syntaxhervorhebungsfunktion verwenden können. Zum Beispiel würden gedit, kate, kwrite reichen. Oder Sie möchten vielleicht voll geladene IDEs wie Geany, Codelite, Codeblocks usw. ausprobieren.
Verwenden Sie für Ihr erstes Programm jedoch einfach einen gewöhnlichen Texteditor, damit Sie es schnell erledigen können.
Hier ist es
#include <wx/wx.h> class Simple : public wxFrame { public: Simple(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150)) { Centre(); } }; class MyApp : public wxApp { public: bool OnInit() { Simple *simple = new Simple(wxT("Simple")); simple->Show(true); return true; } }; wxIMPLEMENT_APP(MyApp);
Speichern Sie nun das Programm irgendwo ab und kompilieren Sie es mit den folgenden Befehlen
# compile $ g++ basic.cpp `wx-config --cxxflags --libs std` -o program # run $ ./program
Kompilieren mit Nicht-Standard-Bibliotheken
Der oben gezeigte Befehl wx-config stellt standardmäßig nur die Standardbibliotheken bereit. Wenn Sie beispielsweise die Aui-Klassen verwenden, müssen Sie zusätzliche Bibliotheken dafür angeben
$ g++ code.cpp `wx-config --cxxflags --libs std,aui` -o program
Weitere Informationen finden Sie hier.
Ressourcen
Laden Sie Quell- und Hilfedateien für wxWidgets herunter
https://www.wxwidgets.org/downloads/
wxWidgets-Wiki-Seite zu Kompilierungsanweisungen
https://wiki.wxwidgets.org/Compiling_and_getting_started
Hinweise zur Verwendung der neuesten wxWidgets-Version (3.0+)
https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets