Newsgroup: it.comp.lang.c++
Titolo: Code::Blocks e WxWidgets

Purtroppo la precedente discussione creata sull'installazione delle
Wxwidgets sotto code::blocks non sembra più possibile riprenderla, x
cui sono costretto ad aprirne una nuova.
Dunque, il mio problema è che sono stato troppo impegnato ed ho poca
esperienza co questi tools.
Se qualcuno sapesse come aiutarmi a risolvere il problema potrei
davvero, ora che ho tempo sufficiente avanti, dedicarmi a qualcosa di
costruttivo.
Ho installato Code::Blocks, scaricato ed installato le Wxwidgets (Ho
scaricato ad esempio wxMSW-2.8.7-Setup.exe ).
Ho cercato di compilarle con Code::Blocks secondo la guida su
wikipedia.
Dunque, ho seguito queste istruzioni:
1) Proprietà del Sistema->Avanzate->Variabili d'ambiente->Variabili
di
Sistema
2) Nuova variabile di Sistema: Nome WXWIN; Valore C:\PROGRAMMAZIONE
\wxWidgets-2.8.7 (il path sul mio pc)
3) Modifica della variabile di Sistema PATH aggiungendoci C:
\PROGRAMMAZIONE\CodeBlocks\MinGW\bin (la locazione del MinGW
inscatolato col Code::Blocks)
4) Al prompt mi sono posizionato nella directory C:\PROGRAMMAZIONE
\wxWidgets-2.8.7
5) mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
BUILD=release UNICODE=1  clean
6) mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
BUILD=release UNICODE=1
si avvia il processo di compilazione che dura un bel po' di tempo
(vedo apparire dei warnings, ma poi la compilazione va avanti fino
alla fine)
7) In pratica avvio Code::Blocks e creo un progettino seguendo
l'esempio indicato in questo video: 
http://wxwidgets.info/wxwidgets_and_codeblocks_video_win
http://www.wxwidgets.info/files/wxCodeBlocks_video.7z
Ma ricevo al momento della compilazione
"wxTest - Release" uses an invalid compiler. Skipping...
Nothing to be done.
P.S.: nel filmato la compilazione delle WX avviene con un comando
diverso al prompt...
C'è qualcosa di sbagliato nel settaggio del mio sistema?

 C'� qualcosa di sbagliato nel settaggio del mio sistema?
Evidentemente si. Forse nella configurazione di CB. Fai una cosa 
inscatola il progetto (la dir padre) in un file .zip o .7z e spediscila a
gaspari
at
tin
punto
it
Max


Di preciso cosa vuoi che inscatoli, la dir di CodeBlocks? temo sia
molto pesante come file...

 molto pesante come file...
La dir del progetto.
Avrai certamente creato una dir del progetto che utilizza wxWidgets. Mi 
serve solo quella dir e magari anche la dir della configurazione di CB
(in Xp ITA e' in C:\Documents and Settings\<user>\Dati applicazioni).
In tutto poche decine di k.
Con queste due directory dovrei capire.
Comunque la scelta di installare CB 8.02 con MinGW rende l'upgrade piu' 
complicato.
Il mio suggerimento e' di cancellare CB disinstalladolo completamente 
(inclusa la dir di configurazione e minGW), installare MinGW manualmente 
(posso darti un archivio che ha tutto quello che ti serve), installare 
CB usando una nightly build (un un archivio compresso + una libreria). 
In questo modo e' piu' semplice l'upgrade.
Max

 
Perche' il progetto "Hello - Debug" usa un compilatore non valido. :-)
Il messagio mi sembra chiaro. Non capisco perche' hai cosi' tanti 
problemi di configurazione. Mandami le dir richieste e poi vediamo.
Insisto se ripulisci il PC di CB e MinGW (non di wxWidgets) ti mandi due 
archivi per installare.
Max

On 19 Lug, 14:15, Atreides <atreides@it> wrote:
Ti mando una mail.

Dunque...torno qui per chiedervi aiuto.
L'unica cosa che non ho fatto è disinstallare CB e installare
separatamente prima il Mingw e poi il CB.
Ho un po' di tempo a disposizione in questi giorni e quindi posso
impegnarmi un po'.
Installato la nightly build di Code Blocks con il Mingw incorporato.
Installato le wxMSW-2.8.7-Setup.exe
Ho ricompilato le WX come Release e come Debug con queste istruzioni:
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
BUILD=release UNICODE=1  clean
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
BUILD=release UNICODE=1
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
BUILD=debug UNICODE=1  clean
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
BUILD=debug UNICODE=1
Poi ho settato le variabili wx. Inizialmente neanche un'application
console mi compilava. Motivo: nel setting compiler non avevo cliccato
su Auto-Detect. Risolto.
Cmq, creo un progetto nuovo come wxWidgets project col wizard, finchè
ad un certo punto mi dice:
What you select here, must match the installed wxWidgets library's
settings.
wxWidgets Library Settings (ci sono 3 scelte)
Miscellaneous Settings (altre 3 scelte)
Code Blocks risponde, indipendentemente dalle opzioni settate, con i
seguenti 2 warnings:
1-
A matching Debug configuration cannot be found in the wxWidgets
directory you specified. This means that Debug target of your project
will not build.
Are you sure you want to continue with these settings?
2-
A matching Release configuration cannot be found in the wxWidgets
directory you specified. This means that Release target of your
project will not build.
Are you sure you want to continue with these settings?
Mi viene il dubbio che sia andata male la compilazione delle Wx in
modalità Release e Debug, o che, prima di creare il progetto C++ con
le Wx, bisogna configurare il Code Blocks affinchè trovi tutto quanto
gli è necessario per funzionare con le wx.
Infatti, andando avanti con la compilazione di un semplice programmino
in stile helloword, ottengo:
||=== WxTutorial, Debug ===|
C:\...WxTutorial\HelloWorldApp.cpp|3|wx/wxprec.h: No such file or
directory|
C:\...WxTutorial\HelloWorldApp.cpp|5|wx/wx.h: No such file or
directory|
C:\...WxTutorial\HelloWorldApp.h|10|error: expected class-name before
'{' token|
C:\...WxTutorial\HelloWorldApp.h|17|warning: extra tokens at end of
#endif directive|
C:\...WxTutorial\HelloWorldApp.cpp|9|error: expected constructor,
destructor, or type conversion before "IMPLEMENT_APP"|
||=== Build finished: 4 errors, 1 warnings ===|

Ho trovato questo sito:
http://www.webalice.it/fede.tft/codeblocks/codeblocks.html
suggerisce visto che gli utenti windows non sono così smaliziati come
quelli Linux (leggi compilazione di codice sorgente) di installare
delle wxwidgets precompilate dall'autore del sito. Che ne pensate?
Ho anche trovato questo:
http://www.softhisteria.netsons.org/files/guidawxwidgets.pdf
proprio x chi installa WxWidgets e Code Blocks su Windows.
Ho notato che, oltre a suggerire l'installazione separata del Mingws e
del Code Blocks, prima di compilare le wxwidgets edita il file setup.h
perchè vuole abilitare il database
#define wxUSE_ODBC 1
#define wxUSE_GLCANVAS 1
e poi compila con
mingw32-make.exe -f makefile.gcc USE_XRC=1 UNICODE=0 USE_ODBC=1
mingw32-make.exe -f makefile.gcc USE_XRC=1 BUILD=release UNICODE=0
USE_ODBC=1
e dice che con questo comando non riesce a compilare:
mingw32-make.exe -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1
BUILD=release UNICODE=0 USE_ODBC=1
Non è che nel mio caso (non avevo da settare il database, ma
desideravo semplicemente compilare le MONOLITHIC RELEASE e DEBUG) ho
mancato di editare qualcosa prima di compilare?
Tutte le guide che seguo non danno risultati... mannaggia!