PDA

View Full Version : Qt 3.3.4 -> Qt 4.1.2, moc file issue



philski
11th September 2006, 22:00
Good Afternoon-

I had an application working in Qt3.3.4, but it was determined that we needed to upgrade to Qt 4+.

I loaded the Ui file in designer, got the message box saying it was converted to Qt 4, saved it, made a header file with uic (I see with Qt 4 you can't make a .cpp file) and rebuilt my project. I had to convert a lot of stuff that changed, but the files compile now until you hit the first moc file. Here is the error:

moc_TankInterface.cpp:88: error: 'staticMetaObject' is not a member of 'Ui_HitPt_Viewer'
moc_TankInterface.cpp:102: error: 'qt_metacast' is not a member of 'Ui_HitPt_Viewer'
moc_TankInterface.cpp:107: error: 'qt_metacall' is not a member of 'Ui_HitPt_Viewer'

Ui_HitPt_Viewer is the Ui-class made with uic, TankInterface is the derived class.

I see when I poke around in Ui_HitPt_Viewer class that there is no Q_OBJECT, and no signal connections. I presume that is the issue. However why aren't there? Shouldn't uic add those in when I generate the header file?

Thanks,
-philski

jacek
11th September 2006, 22:08
I see when I poke around in Ui_HitPt_Viewer class that there is no Q_OBJECT, and no signal connections. I presume that is the issue. However why aren't there?
A lot of things changed in Qt4.

http://doc.trolltech.com/4.1/designer-using-a-component.html#the-single-inheritance-approach
http://doc.trolltech.com/4.1/porting4.html