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:
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