Symptom¶
The compilation of Squish from sources with Qt fails with the following error:
/opt/qt/4.8.4/include/QtGui/qgridlayout.h:96:10: note: void QGridLayout::addWidget(QWidget*, int, int, int, int, Qt::Alignment)
/opt/qt/4.8.4/include/QtGui/qgridlayout.h:96:10: note: no known conversion for argument 1 from 'QButtonGroup*' to 'QWidget*'
In file included from /src/squish/gui/finddialogbase.cpp:1:0:
/src/squish/src/gui/finddialogbase.h: In member function 'void Squish::Ui_FindDialogBase::retranslateUi(QDialog*)':
/src/squish/src/gui/finddialogbase.h:200:23: error: 'class QButtonGroup' has no member named 'setTitle'
Possible Cause and Suggested Solution¶
Unless compiled with Qt 3 the classic (now deprecated IDE) relies on the Qt3Support module of Qt 4. And the uic3
tool is supposed to be be able to process .ui
files from Qt 3. However, a few users ran into cases where the Qt3Support support of uic3
was not configured correctly. Possibly because of missing or moved files. As a result an attempt to compile the generated code will result in above error.
As the classic Qt-based IDE has been long superseded by the Eclipsed-based version the old component can simply be disabled. Same for the Wrapper Explorer GUI. Simply invoke the configure
script again with these two switches:
--disable-ide --disable-explorer
The customer download area carries squishide
packages that contain a standalone version of the new IDE.