I am sorry. I have checked to find your issue has nothing to do with VS2010 and Qt 4.8 combo.
The message:
moc_canvaswidget.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const TQtWidget::staticMetaObject" (?staticMetaObject@TQtWid
get@@2UQMetaObject@@B) is present with VS2008 and Qt 4.7.1 too.
The symbol TQtWidget::staticMetaObject is defined by “root/lib/libGQt.lib” import library.
You can check this with the command:
dumpbin /EXPORTS lib\libGQt.lib >libGQT.exp.log The rootcint.pri is to make sure this library is present for the M$ LINK stages.
You may want to add the
message ($$LIBS) into your test.pro to check this fact yourself.
In the other words, I did reproduce your issue. However, I had not time (due holidays )to find the reason
yet.