www.RiffZone.net
code.RiffZone.net
login.RiffZone.net
Retour au Sommaire

Installation du framework wxWidgets sous Windows

Téléchargement du framework

Téléchargeons depuis www.wxwidgets.org la dernière version stable, la 3.0.0 au moment de l'écriture de cet article, depuis cette adresse:

http://wxwidgets.org/downloads ("Windows ZIP" ou "Windows 7Z" dans la section "Source Code")

On décompresse le dossier que l'on place à la racine, sous le nom "wxWidgets".

Installation du compilateur

Une solution simple et efficace commence par l'installation de l'environnement MSYS2, détaillée sur le site msys2.org. Une fois le package installé et lancé (il s'agit du raccourci "MSYS2 MSYS" dans le menu démarrer), on lance d'abord la commande "pacman -Syu", on relance "MSYS2 MSYS", on exécute la commande "pacman -Su" pour mettre à jour le reste des packages puis la commande suivante pour installer les outils de compilation 64 bits (naturellement, on installe tout):

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

Quittons la console "MSYS2 MSYS". A partir de là, tout se passera dans la console "MSYS MinGW 64-bit" accessible depuis le menu démarrer. A savoir, la racine du disque C: est accessible via le chemin "/c/".

Compilation du framework

Lançons donc MSYS, ça ressemble à l'invite de commandes Windows mais c'est bien du Linux, plaçons-nous pour commencer dans le répertoire d'installation de wxWidgets:

cd /c/wxWidgets

Créons un répertoire pour accueillir notre futur framework, puis plaçons-nous dedans:

mkdir msw-build cd msw-build

Générons maintenant les fichiers de compilation, avec la commande "../configure". Différentes options sont disponibles, "--disable-shared" permet de lier à l'exécutable de vos applications les librairies wxWidgets utiles au lieu d'utiliser celles éventuellement installées dans votre système, rendant leur installation nécessaire sur les postes utilisateurs. Nous lançons donc:

../configure --disable-shared

Notez que ce ne sont que deux des nombreuses options existantes, le meilleur moyen d'en récupérer la liste est de poser la question à "configure" lui-même, avec la commande qui vous donnera toute l'aide de l'outil dans un fichier "configure-help.txt":

../configure -help > configure-help.txt

Par exemple, pour activer la librairie wxWebView, en plus des options précédentes:

../configure --disable-shared --enable-webview

Pour intégrer les librairies standard C/C++, on utilisera les LDFLAGS:

../configure --disable-shared LDFLAGS="-static -static-libgcc -static-libstdc++"

Nous pouvons alors compiler le framework:

make

Puis l'installer dans la chaîne de compilation:

make install

Les exemples se construisent facilement, il suffit de se placer dans le répertoire correspondant et de lancer la compilation:

cd /c/wxWidgets/msw-build/samples make

Voici un exemple de Makefile pour cette configuration, qui pourra servir de base:

CC = `/mingw64/bin/wx-config --cxx` CXXFLAGS = `/mingw64/bin/wx-config --cxxflags` LIBFLAGS = `/mingw64/bin/wx-config --libs` all: Example.exe Example.o: Example.cpp $(CC) -c Example.cpp -o Example.o $(CXXFLAGS) -I/usr/local/include Example.exe : Example.o Example.rc windres Example.rc Example_res.o $(CC) -o Example.exe Example_res.o Example.o $(LIBFLAGS) -static-libgcc -static-libstdc++ -static clean: rm --force *.o rm --force Example.exe