Se avete seguito le puntate sin dall’inizio, saprete che la scelta di wxWidgets e CodeBlocks (CB) è stata fatta non solo per svincolarmi dal vecchio e costoso Borland Builder, ma anche per affacciarmi alla possibilità di fare programmazione multiplatform, in particolare mi stuzzicava l’idea di convertire il mio software di domotica per funzionare in ambiente linux. Ma facciamo un passetto in dietro e cominciamo con le cose più semplici. Ricordate il
programmino che avevo preparato per la gestione di eventi custom in un thread secondario? Se avete seguito lo scorso articolo sicuramente avete scaricato il progetto già pronto e nonostante i miei avvertimenti avrete provato a compilarlo, cosa che avrà generato una miriade di errori. Questo è un problema frustante per chi provviene da ambienti integrati quali il Borland C Builder o VisulaStudio. Questi pacchetti software funzionano senza modifica in ogni PC per il semplice motivo che usano sempre lo stesso editor per la GUI, lo stesso compilatore, gli stessi include, le stesse librerie etc, etc, per cui gli basta conoscere la directory di installazione per funzionare in ogni PC.
Pensavate fosse finito qui? Manca ancora una risposta importante. Se CodeBlocks permette di definire variabili globali nelle sue impostazioni ed utilizza un Wizard che ci chiede la directory di installazione delle wxWidgets, perchè questo lavoro non lo fa in automatico ma lo dobbiamo fare noi manualmente? Ma infatti lo fà, solo che che al primo articolo avessi usato questo automatismo, ora non avrei avuto la possibilità di spiegarvi l’uso delle variabili globali e le problematiche nel trasferire un progetto da una piattaforma all’altra. Vi ho preparato un nuovo video, qui sotto, che mostra come usare questa comodissima opportunità. Come potete vedere nel Wizard dopo aver settato la variabile globale wx, ci viene richiesto nuovamente la “wxWidgets location”, cosa che che ci trae in inganno anche perchè lasciandola su $(#wx) ci viene indicato un errore. Ma il trucco stà proprio nel non farsi intimidire dall’errore e lasciare tutto com’è senza specificare nessuna directory. Spero che anche questo articolo vi sia stato di aiuto, aspetto i vostri commenti.
E cosa facciamo se manualmente abbiamo alterato i path in modo errato e non abbiamo fatto il backup? Certo se il progetto è semplice ci mettiamo poco a rifarlo, ma lo scopo di queste righe è riuscire a salvarci da disastri apocalittici, magari in progetti molto grossi di cui sicuramente ci siamo scordati il backup proprio la volta in cui ci serviva. La cosa più semplice è questa: vi lascio una lista delle directory da includere. Per completezza vi segnalo che queste impostazioni le potete moificare anche “a mano” editando il file “.cpr” del progetto. Andate a dargli un’occhiata: è un semplice file XML qundi modificabile in maniera molto semplice.
Vi allego il file zippato con il progetto già modificato che potete trovare qui:
Custom events and wxthread with global var (446 download )
Salve,sto seguendo la tua guida,ma ho un piccolo problema…compilando CD non mi trova il file: wx/setup.h
puoi aiutarmi?Grazie per la risposta!
Difficile aiutarti se non fornisci qualche dettaglio in +. Poi cosa intendi per CD? Se intendevi CodeBlocks mi chiedo perchè dovresti compilarlo visto che lo trovi già compilato. A meno che tu non voglia usare l’ultima build disponibile sotto linux, non ha molto senso compilarsi codeblocks se non per curiosità personale, ma è sicuramente un passo riservato a chi ha già un po’ di dimestichezza. Io l’ho fatto solo una volta ai tempi in cui non avevamo già la “pappa pronta” e dovevamo fare da noi. Nella mia guida non ho trattato la compilazione di codeblocks ma ho specificato i vari passaggi per utilizzarlo già bello che pronto. Al limite potrei scrivere un articoletto su questo argomento.