Ago 302010
 

Benvenuti in questo blog.

Queste sono le primissime parole che scrivo e vorrei usarle per introdurre questa sezione. Sino ad un paio d’anni or sono programmavo in C/C++ con il Borland C Builder, un software che al tempo era sicuramente ottimo ma che negli anni ha perso ai miei occhi un po’ di fascino, mostrato alcuni problemi che non avevo percepito in gioventù e manifestato alcuni limiti che ora mi sono un po’ stretti. Ho deciso di cercare qualcosa di più elastico e credo di esserci riuscito. Cercavo qualcosa che mi permettesse di scrivere software multiplatform per poter riciclare quanto scritto sia su Windows che linux e magari pure Mac. La strada, diciamolo subito, è in salita. Il BCB (Borland C Builder) ha un vantaggio innegabile: lo installi e cominci ad usarlo senza alcuna preoccupazione. E’ tutto pronto, basta qualche click, due righe di codice, e lui pensa a compilare, eseguire, debuggare. Quando si decide di fare programmazione muliplatform le cose diventano molto più complesse. Diciamocelo, ci sono un sacco di librerie multiplatform già pronte, alcune freeware, altre a pagamento, basta cercare in rete per renderesene conto. Ognuna con pregi e difetti e la scelta e tutt’altro che semplice. Non mi dilungherò sui motivi che hanno spinto la mia scelta, tanto ognuno è libero di scegliere con la propria testa,  di criticare o elogiare una o l’altra libreria. La mia intenzione è solo quella di condividere la mia esperienza e aiutare chi vuole intrapprendere gli stessi passi per trovare qualche aiuto a non commettere gli stessi errori.

La mia scelta è caduta sulle wxWidgets (http://www.wxwidgets.org/). E’ una libreria multiplatform molto completa con un sacco di documentazione anche se, come vedremo, ci sono parti mal documentate o poco chiare che creano non poche difficoltà in chi si accinge per la prima volta ad avvicinarsi a questo mondo. Inoltre la continua evoluzione porta alla presenza di diverse versioni per cui la documenazione che possiamo trovare in rete talvolta risulta sorpassata o persino incompatibile con le nuove versioni.  Diciamolo subito, le wxwidgets sono compatibili e quindi compilabili con un’infinità di compilatori, ma vale la pena abituarsi sin da ora ad utilizzare qualcosa di comune fra le piattaforme che vogliamo andare ad utilizzare. Io nello specifico ero interessato ad estendere l’utilizzo del software a piattaforme Windows e Linux per cui la mia scelta è caduta sul MingGW su piattaforma Windows. Benchè ci sia un sito ufficiale (http://www.mingw.org/) da cui scaricarlo a suo tempo ho avuto notevoli difficoltà in quanto  non capivo cosa dovevo realmente scaricare e come rendere effettivamente funzionante il tutto. Non mi dilungherò sull’argomento in quanto ho pensato di semplificare la cosa fornendo a tutti (me compreso 😀 ) un archivio già bello che pronto con tutto il necessario e che potete prelevare da questo link: Mingw (690 download ) . Il consiglio è di scompattare il pacchetto direttamente in C per avere quindi il percorso C:/MinGW (Attenzione che dentro deve esserci il contenuto vero e proprio e non una nuova directory MinGW)

Fatto questo dobbiamo fare in modo che il sistemi punti (path) alla directory bin di MinGW per accedere al compilatore, debugger e quant’altro. Per farlo andiamo su “Risorse del Computer”, premiamo il pulsante destro del mouse e selezioniamo “Proprietà”, selezioniamo il tab “Proprietà avanzate” ed entriamo in “Variabili d’ambiente”. Si aprirà una schermata dove andremmo a fare un “doppio click” su Path (Variabili di Sistema) a cui andremo ad aggiungere “;C:\MinGW\bin” (mi raccomando il punto e virgola). Ovviamente se l’archivio è stato decompattato altrove dovrete modificare il percorso. Ora potete riavviare il PC e se avete seguito le istruzioni alla lettera sarete in grado di cominciare. Provate ad aprire un prompt dei comandi e digitate mingw32-make -v . Dovreste ottenere una risposta del tipo:

GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-mingw32

Se tutto funziona possiamo proseguire con la nostra avventura, altrimenti è meglio fare un passo indietro finchè non scoviamo il problema. Vi lascio con questo video riassuntivo.

Benvenuti in questo blog.

Queste sono le primissime parole che scrivo e vorrei usarle per introdurre questa sezione. Sino ad un paio d’anni or sono programmavo in C/C++ con il Borland C Builder, un software che al tempo era sicuramente ottimo ma che negli anni ha perso ai miei occhi un po’ di fascino, mostrato alcuni problemi che non avevo percepito in gioventù e manifestato alcuni limiti che ora mi sono un po’ stretti. Ho deciso di cercare qualcosa di più elastico e credo di esserci riuscito. Cercavo qualcosa che mi permettesse di scrivere software multiplatform per poter riciclare quanto scritto sia su Windows che linux e magari pure Mac. La strada, diciamolo subito, è in salita. Il BCB (Borland C Builder) ha un vantaggio innegabile: lo installi e cominci ad usarlo senza alcuna preoccupazione. E’ tutto pronto, basta qualche click, due righe di codice, e lui pensa a compilare, eseguire, debuggare. Quando si decide di fare programmazione muliplatform le cose diventano molto più complesse. Diciamocelo, ci sono un sacco di librerie multiplatform già pronte, alcune freeware, altre a pagamento, basta cercare in rete per renderesene conto. Ognuna con pregi e difetti e la scelta e tutt’altro che semplice. Non mi dilungherò sui motivi che hanno spinto la mia scelta, tanto ognuno è libero di scegliere con la propria testa, ognuno è libero di criticare o elogiare una o l’altra libreria. La mia intenzione è solo quella di condividere la mia esperienza e aiutare chi vuole intrapprendere gli stessi passi per trovare qualche aiuto a non commettere gli stessi errori.

La mia scelta è caduta sulle wxWidgets (http://www.wxwidgets.org/). E’ una libreria multiplatform molto completa con un sacco di documentazione anche se, come vedremo, ci sono parti mal documentate o poco chiare che creano non poche difficoltà in chi si accinge per la prima volta ad avvicinarsi a questo mondo. Diciamolo subito, le wxwidgets sono compatibili e quindi compilabili con un’infinità di compilatori, ma vale la pena abituarsi sin da ora ad utilizzare qualcosa di comune fra le piattaforme che vogliamo andare ad utilizzare. Io nello specifico ero interessato ad estendere l’utilizzo del software a piattaforme Windows e Linux per cui la mia scelta è caduta sul MingGW su piattaforma Windows. Benchè ci sia un sito ufficiale da cui scaricarlo a suo tempo ho avuto notevoli difficoltà in quanto poi mancavano alcuni files che andavano reperiti altrove, etc. Non mi dilungherò sull’argomento in quanto ho pensato di semplificare la cosa fornendo a tutti (me compreso 😀 ) un archivio già bello che pronto con tutto il necessario e che potete prelevare da http://www.frikosystem.net/dwn/MinGW.zip .Il consiglio è di scompattare il pacchetto direttamente in C per avere quindi il percorso C:/MinGW.

Fatto questo dobbiamo fare in modo che il sistemi punti (path) alla directory bin di MinGW per accedere al compilatore, debugger e quant’altro. Per farlo andiamo su “Risorse del Computer”, premiamo il pulsante destro del mouse e selezioniamo “Proprietà”, selezioniamo il tab “Proprietà avanzate” ed entriamo in “Variabili d’ambiente”. Si aprirà una schermata come quella a lato dove andremmo a fare un “doppio click” su Path (Variabili di Sistema) a cui andremmo ad aggiungere “;C:\MinGW\bin” (mi raccomando il punto e virgola). Ovviamente se l’archivio è stato decompattato altrove dovrete modificare il percorso