Hello,

I'm using Qt 4.7 form GIT.
On Windows XP
Building for emulator (debug-winscw)
Followed instructions:
http://doc.qt.nokia.com/4.7-snapshot/install-symbian.html

The problem
------------------
When compiling Qt 4.7 for Symbian I recieve the following error:

mwldsym2.exe: Undefined symbol: 'bool
QWidgetPrivate::hasHeightForWidth(void) const
(?hasheightforwi...@qwidgetprivate@@UBE_NXZ)'
mwldsym2.exe: referenced from 'const QSvgWidgetPrivate::`vftable'
(??_7QSvgWidgetPrivate@@6...@~)' in qsvgwidget.o

I assume this means the linker cannot resolve the symbol used in
QSvgWidgetPrivate's VTable for the virtual method hasHeightForWidth()

I opened QtGui.lib in an editor and did a quick string search for
'hasHeightForWidth', while I did find values, none of them were for the
class
QWidgetPrivate. Could this be the cause of the problem or have I
misunderstood something?  Can anyone provide any assistance with this?

Below is my understanding of why the VTable contains an entry for
QWidgetPrivate::hasHeightForWidth


SVG
-------
File: http://qt.gitorious.org/qt/qt/blobs/master/src/svg/qsvgwidget.cpp
Line: 82

class QSvgWidgetPrivate : public QWidgetPrivate
{
    Q_DECLARE_PUBLIC(QSvgWidget)
public:
    QSvgRenderer *renderer;
};

When configuring Qt for Symbian svg_0x2001B2E2.mmp is produced to build
QtSvg.dll
NOTE: QSvgWidgetPrivate subclasses QWidgetPrivate


GUI
-----
File: http://qt.gitorious.org/qt/qt/blobs/master/src/gui/kernel/qwidget_p.h
Line: 293

class Q_GUI_EXPORT QWidgetPrivate : public QObjectPrivate
{
    Q_DECLARE_PUBLIC(QWidget)
...
}

When configurig for Symbian gui_0x2001B2DD.mmp is produced to build
QtGui.dll


Linking
----------
Since QSvgWidgetPrivate subclasses QWidgetPrivate, I would expect QtSvg.dll
to link against QtGui.dll, which it does in svg_0x2001B2E2.mmp:

LIBRARY        QtGui.lib


VTable
----------
Also since the subclass QSvgWidgetPrivate does not provide an implementation
of QWidgetPrivate's virtual method:

virtual bool hasHeightForWidth() const;

...I would expect QSvgWidgetPrivate's VTable to contain an entry pointing to
the base class implementation in QWidgetPrivate
_______________________________________________
Qt4-preview-feedback mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback

Reply via email to