Magazine Tecnologia

Compilare il Qt5 Framework con Visual Studio senza ICU

Creato il 19 giugno 2014 da Faster

qt_logo

Esattamente una settimana fa pubblicai un post relativo ad alcune problematiche dovute all’eccessivo peso delle librerie Qt5 in ambiente Windows. In particolare, spiegai che, per distribuire la minima applicazione in Qt5 su Windows fossero necessari quasi 40 megabytes di librerie, tra l’altro inutili, dato che l’origine dei problemi era dovuta alle librerie ICU che, pur essendo una dipendenza praticamente esclusiva di WebKit, queste devono necessariamente essere distribuite anche se la nostra applicazione non utilizza questo modulo. Ciò soltanto per il semplice fatto che ICU è linkato a QtCore. Per maggiori approfondimenti vi invito comunque a leggere il post precedente.

Conclusi l’articolo spiegando che l’unica soluzione realisticamente attuabile al momento era quella di compilarci, per conto nostro, l’intero framework escludendo ICU pur non sapendo se tale operazione fosse stata seriamente fattibile.

Dopo aver svolto una serie di ricerche in lungo e in largo sono riuscito, senza troppi problemi, a compilare le librerie senza ICU (e di conseguenza senza WebKit) e devo dire che che il gioco è valso la candela perché adesso mi è possibile distribuire le applicazioni con poco più di 13 megabytes di dipendenze contro i quasi 40 della versione ufficiale.

Nelle seguenti righe spiegherò come compilare Qt5 con Visual Studio 2012 senza il supporto ad ICU.

Per prima cosa dobbiamo avere, sulla nostra macchina Visual Studio 2010, 2012 o 2013 in versioni NON Express in quanto l’addon per utilizzare le Qt5 funziona solo con queste 3 versioni di Visual Studio.

Se siamo in possesso di questo fondamentale requisito dobbiamo installare Windows 7 SDK o Windows 8 SDK in base al nostro sistema operativo.

Dopo di ciò dobbiamo installare sul nostro sistema Python, Ruby e Perl prelevabili da questi indirizzi:

  • Python: http://www.python.org/download/releases/
  • Ruby: http://www.rubyinstaller.org/
  • Perl: http://www.activestate.com/activeperl/downloads

Una volta installati verifichiamo che, tra le variabili d’ambiente di Windows, compaiano i percorsi dei tre ambienti che abbiamo installato. Personalmente ho dovuto inserire solo quelli relativi a Python dato gli altri due si sono inseriti automaticamente in fase di installazione.

Ad ogni modo ecco i tre percorsi da inserire nella variabile path di Windows:

C:\Python34;C:\Perl\site\bin;C:\Perl\bin;C:\Ruby193\bin

Fatto ciò, possiamo finalmente scaricare il tarball dei sorgenti da questa pagina (per le attuali Qt 5.3) facendo attenzione a scegliere quello con l’estensione .zip in quanto è l’unico a contenere alcuni programmi necessari alla configurazione delle Qt. Se desiderate invece utilizzare Git per scaricare i sorgenti potete fare riferimento a questo tutorial.

Una volta estratto il contenuto del tarball apriamo la riga di comando di Visual Studio 2012 corrispondente alla voce di menu VS2012 x86 Native Tools-Command Prompt. Facciamo attenzione a scegliere la versione x86!

Qui, entriamo nella directory dei sorgenti delle Qt5 ed eseguiamo questo comando:

configure -opensource -confirm-license -make libs -qt-libjpeg -qt-libpng -no-openssl -no-icu -qt-zlib -qt-pcre -no-iconv -nomake examples -nomake tests -qt-style-windowsxp -qt-style-windowsvista -opengl desktop

Una volta terminata la fase di configurazione, anche se a primo impatto potrà sembrare strano e non si trova documentazione di ciò, dobbiamo obbligatoriamente disattivare l’antivirus. Pena l’arresto anomalo della procedura di compilazione! Sfortunatamente, non essendoci documentazione di tale procedura, non è stato facile capire che l’origine degli errori di compilazione fosse causata proprio dall’antivirus (nel mio caso Avast) e dunque effettuare le adeguate ricerche risalendo dai misteriosi errori di compilazione alle cause  mi è costato un po’ di fatica anche sprecata direi.

Fatto ciò, possiamo passare alla fase di compilazione eseguendo il comando

nmake

A questo punto partirà la procedura di compilazione che durerà diverse ore. Sul mio portatile con Intel Core 2 Duo  T6400 @ 2.00GHz credo abbia impiegato 3 o 4 ore. Sfortunatamente ho dimenticato di controllare il tempo impiegato ma ad ogni modo siamo sull’ordine delle ore.

Completata la fase di compilazione, scarichiamo ed installiamo il Visual Studio Add-in relativo alle Qt5 da qui.

Apriamo Visual Studio e dalla voce di menu Qt5 scegliamo Qt Options e aggiungiamo il percorso relativo alla directory qtbase dell’albero sorgenti delle Qt5.

Questo è tutto. A questo punto dovremmo essere in grado di compilare e distribuire le nostre applicazioni senza troppe dipendenze inutili!

Per eventuali approfondimenti ecco un po’ di link:


Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :

Dossier Paperblog

Magazine