sabato 7 gennaio 2012

QtCreator & qmake

Uno degli errori in cui inciampo piu' frequentemente quando uso QtCreator è la mancata esecuzione di qmake. In sostanza ogni volta che modifico le mie classi aggiungendo dei discendenti di QObject e ricompilo il progetto ottengo degli errori come:

tableviewhandler.o: In function `TableViewHandler':
/sviluppo/c/WHR-build-desktop/../WHR/tableviewhandler.cpp:5: undefined reference to `vtable for TableViewHandler'
/sviluppo/c/WHR-build-desktop/../WHR/tableviewhandler.cpp:5: undefined reference to `vtable for TableViewHandler'
tableviewhandler.o: In function `~TableViewHandler':
/sviluppo/c/WHR-build-desktop/../WHR/tableviewhandler.cpp:31: undefined reference to `vtable for TableViewHandler'
/sviluppo/c/WHR-build-desktop/../WHR/tableviewhandler.cpp:31: undefined reference to `vtable for TableViewHandler'
/sviluppo/c/WHR-build-desktop/../WHR/tableviewhandler.cpp:31: undefined reference to `vtable for TableViewHandler'
collect2: ld returned 1 exit status
make: Leaving directory `/sviluppo/c/WHR-build-desktop'
make: *** [WHR] Error 1
The process "/usr/bin/make" exited with code 2.
Error while building project WHR (target: Desktop)
When executing build step 'Make'


che mi ricordano velocemente che il sistema di compilazione non ha aggiornato i file .moc. Occorre allora eseguire, dal menu Build, la sequenza Clean All, Run qmake e infine il classico Buil All per ottenere la compilazione dell'intero progetto.

Nessun commento: