wxWidgets
wxWidgets est un framework/bibliothèque de développement d'applications qui permet aux développeurs de créer des applications GUI multiplateformes pour Windows, Mac et Linux en utilisant la même base de code.
Il est principalement écrit en C++ mais a des liaisons pour d'autres langages comme Python, Perl et Ruby.
Dans ce tutoriel, je vais vous montrer comment compiler et construire wxwidgets 3.0+ sur des systèmes Linux basés sur Debian comme Ubuntu et Linux Mint.
Compiler wxWidgets à partir de la source n'est pas du tout difficile comme cela peut paraître et ne prend que quelques minutes.
La bibliothèque peut être compilée dans différents modes comme la bibliothèque statique ou la bibliothèque dynamique.
1. Télécharger wxWidgets
La première étape serait de télécharger les fichiers sources de wxWidgets depuis wxwidgets.org
Une fois cela fait, extrayez les fichiers dans un répertoire.
2. Configurer l'environnement de compilation
Pour compiler wxwidgets, nous aurions besoin de certains programmes utilitaires, notamment le compilateur C++ sous Linux appelé g++. Et tout cela serait installé à partir des dépôts en utilisant apt-get.
Nous avons également besoin des bibliothèques de développement GTK dont dépendent wxWidgets.
$ 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. Compiler wxWidgets
Entrez dans le répertoire où wxWidgets est extrait. Afin de garder les choses propres, créez un répertoire où la compilation serait effectuée.
$ mkdir gtk-build $ cd gtk-build/
Maintenant, exécutez les commandes configure et make une par une. Chacun prendrait un certain temps à terminer.
$ ../configure --disable-shared --enable-unicode $ make
L'option "--disable-shared" indique à wxwidgets de construire des bibliothèques statiques au lieu de bibliothèques partagées/dynamiques.
Une fois la commande make terminée, la compilation est effectuée avec succès. Il est temps d'installer les fichiers wxWidgets au bon emplacement.
Vous trouverez plus d'informations sur les options de compilation dans les fichiers install.txt et readme.txt qui se trouvent dans /docs/gtk/ dans le répertoire wxwidgets.
4. Installer avec checkinstall
Maintenant, au lieu d'utiliser la commande "make install", nous allons utiliser la commande checkinstall pour créer un paquet deb pour wxwidgets. Exécutez la commande suivante
$ sudo checkinstall
Checkinstall poserait quelques questions pendant le processus et s'assurerait de fournir un numéro de version lorsqu'on lui demanderait, sinon cela échouerait.
Une fois le processus terminé, wxWidgets serait installé et un fichier deb serait également créé dans le même répertoire.
5. Suivre les fichiers installés
Si vous souhaitez vérifier où les fichiers sont installés, utilisez la commande dpkg suivie du nom du package fourni lors du processus de vérification de l'installation.
$ 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. Compiler les exemples
Après avoir compilé wxWidgets, il est temps de compiler les exemples de programmes pour le voir en action. Dans le même répertoire où nous avons compilé wxwidgets, un nouveau sous-répertoire appelé samples aurait été créé.
Entrez-le simplement et exécutez la commande make
$ compile samples $ cd samples/ $ make
Une fois le processus de création terminé, entrez dans chaque sous-répertoire d'échantillons et vous devriez trouver un fichier exécutable qui peut être exécuté immédiatement pour voir la démo.
7. Compilez votre premier programme
Une fois que vous avez terminé avec les programmes de démonstration, il est temps d'écrire votre propre programme et de le compiler. Encore une fois, c'est assez facile.
Il est supposé que vous codez en C++ et pour cela, vous pouvez utiliser n'importe quel bon éditeur avec une fonction de coloration syntaxique. Par exemple, gedit, kate, kwrite ferait l'affaire. Ou vous voudrez peut-être essayer des IDE entièrement chargés comme Geany, Codelite, Codeblocks, etc.
Cependant, pour votre premier programme, utilisez simplement un éditeur de texte ordinaire et faites-le rapidement.
Le voici
#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);
Enregistrez maintenant le programme quelque part et compilez-le avec les commandes suivantes
# compile $ g++ basic.cpp `wx-config --cxxflags --libs std` -o program # run $ ./program
Compiler avec des bibliothèques non standard
La commande wx-config présentée ci-dessus ne fournit que les bibliothèques standard par défaut. Si vous utilisez les classes Aui par exemple, vous devez spécifier des bibliothèques supplémentaires pour cela
$ g++ code.cpp `wx-config --cxxflags --libs std,aui` -o program
Plus d'informations peuvent être trouvées ici.
Ressources
Téléchargez les fichiers source et d'aide pour wxWidgets
https://www.wxwidgets.org/downloads/
Page wiki wxWidgets sur les instructions de compilation
https://wiki.wxwidgets.org/Compiling_and_getting_started
Notes sur l'utilisation de la dernière version de wxWidgets (3.0+)
https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets