wxWidgets - Installazione su Windows

Nella stesura di un videogioco è possibile imbattersi nella creazione di una GUI (graphical user interface) probabilmente cross-platform. In questo senso le wxWidgets rappresentano una delle più valide soluzioni (e stabili) al problema.


Le wxWidgets costituiscono una libreria C++ che consente di sviluppare applicazioni per Windows, OS X, Linux e Unix (su architettura a 32 e 64 bit). Sono incluse piattaforme di tipo mobile, quali Windows Mobile, iPhone SDK e GTK+.

La licenza di questa libreria è di tipo open: "wxWidgets is currently licensed under the "wxWindows Licence" pending approval of the "wxWidgets Licence" which will be identical apart from the name. The wxWindows Licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms. This is a solution that satisfies those who wish to produce GPL'ed software using wxWidgets, and also those producing proprietary software".

In questo articolo vedremo come installare e configurare questa splendida libreria su ambienti windows.

I passi essenziali per ricompilare e utilizzare questa libreria sono i seguenti:
  1. Scaricare e scompattare il file compresso per architetture Windows in una directory di appoggio
  2. Installare un compilatore GCC (ad esempio utilizzando il comodo ambiente MinGW)
  3. Ricompilare la libreria
  4. Eventualmente ricompilare la libreria in modalità MONOLITICA, cioè con la possibilità di incorporare nelle nostre applicazioni tutta la libreria (evitando di dipendere dai file DLL associati)

Distribuzione di wxWidgets

Una volta scaricato e scompattato il file di riferimento, troveremo una configurazione simile a quella illustrata dalla seguente immagine:


Dato che l'obiettivo è ricompilare la libreria, la cartella di riferimento è build: al suo interno troveremo altre cartelle che dipendono dal tipo di compilatore utilizzato. Supponendo di aver installato MinGW (abbiamo spiegato in precedenza come installare MinGW in questo post) possiamo procedere con la compilazione vera e propria.

cd build
cd msw
mingw32-make -f makefile.gcc

In questo modo al termine della compilazione (che può durare diversi minuti, quindi rifornitevi di un buon caffè...), verranno generati i file DLL all'interno della directory wxWidgets\lib\gcc_dll


Nel caso in cui si volesse creare una versione "monolitica" della libreria (per avere un solo file eseguibile che la utilizza) è necesario utilizzare il seguente comando per la compilazione:

mingw32-make -f makefile.gcc SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=release UNICODE=1 

Al termine della compilazione i file saranno nella cartella wxWidgets\lib\gcc_lib, come mostrato nella seguente immagine.



A seconda del tipo di compilazione, le due cartelle saranno quelle da utilizzare per la compilazione di un'applicazione che utilizza le wxwidgets (nel primo caso l'applicazione richiederà i file DLL nel secondo caso sarà stand alone).

NOTE:
  • in caso di errori di compilazione della libreria, verificare che il tool MSYS non sia inserito nel PATH principale di esecuzione (si può temporaneamente rinominare la cartella C:\MinGW\msys in C:\MinGW\OLDmsys) e riprovare (utilizzando il comando mingw32-make.exe)
  • se si compila la libreria con il flag UNICODE=1, lo stesso flag va utilizzato quando si compila un'applicazione che utilizza le wxWidgets
  • a seconda del tipo di compilazione (statica o dinamica) di una nuova applicazione, si deve inludere un wx/setup.h differente (rispettivamente nelle cartelle wxWidgets\lib\gcc_dll\mswu e wxWidgets\lib\gcc_lib\mswu)
  • Se è necessario l'utilizzo di un componente di "contrib" (come ad esempio STC), sarà necessario lanciare lo stesso comando di compilazione anche in contrib/build/stc)

Siamo pronti per ricompilare gli esempi di wxwidgets o per creare un'applicazione nuova di zecca...

Commenti