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".
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-toolchainQuittons 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/".
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/wxWidgetsCréons un répertoire pour accueillir notre futur framework, puis plaçons-nous dedans:
mkdir msw-build cd msw-buildGé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-sharedNotez 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.txtPar exemple, pour activer la librairie wxWebView, en plus des options précédentes:
../configure --disable-shared --enable-webviewPour 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:
makePuis l'installer dans la chaîne de compilation:
make installLes 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 makeVoici 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