kjsembed uses both QUiLoader and QFormBuilder

Matt Broadstone mbroadst at gmail.com
Sun Dec 10 22:59:05 GMT 2006


On 12/10/06, Erik L. Bunce <kde at bunce.us> wrote:
> I haven't seen this link problem on Mac OS X, however I agree we should
> probably default to only using QUiLoader.  I'll probably commit an
> initial form of that change today.
>
> I also believe we should move the use of QUiLoader out of the QWidget
> binding and into its own.  When I finish adding runtime loadable binding
> support I will probably have QUiLoader and QFormBuilder available as
> separately loadable bindings.  That way things that want to embed
> designer can still avail themselves of the QFormBuilder binding.
>
> Thanks and Enjoy,
> Erik
>
> David Faure wrote:
> > ... which doesn't seem to be a problem on linux, but on Mac OS X, linking to both libQtUiTools.a and libQtDesigner leads to:
> >
> > ld: multiple definitions of symbol _ZN26QAbstractFormBuilderGadget11qt_metacastEPKc.eh
> > /Users/dfaure/qt/qt-mac-opensource-src-4.2.1/lib/QtDesigner.framework/QtDesigner(single module) definition of _ZN26QAbstractFormBuilderGadget11qt_metacastEPKc.eh
> > /Users/dfaure/qt/qt-mac-opensource-src-4.2.1/lib/libQtUiTools.a(abstractformbuilder.o) definition of absolute _ZN26QAbstractFormBuilderGadget11qt_metacastEPKc.eh (value 0x0)
> > ld: multiple definitions of symbol _ZNK26QAbstractFormBuilderGadget10metaObjectEv.eh
> > /Users/dfaure/qt/qt-mac-opensource-src-4.2.1/lib/QtDesigner.framework/QtDesigner(single module) definition of _ZNK26QAbstractFormBuilderGadget10metaObjectEv.eh
> > /Users/dfaure/qt/qt-mac-opensource-src-4.2.1/lib/libQtUiTools.a(abstractformbuilder.o) definition of absolute _ZNK26QAbstractFormBuilderGadget10metaObjectEv.eh (value 0x0)
> > ld: multiple definitions of symbol QAbstractFormBuilderGadget::qt_metacall(QMetaObject::Call, int, void**)
> > /Users/dfaure/qt/qt-mac-opensource-src-4.2.1/lib/QtDesigner.framework/QtDesigner(single module) definition of QAbstractFormBuilderGadget::qt_metacall(QMetaObject::Call, int, void**)
> > etc.
> >
> > As far as I can see, QUiLoader and QFormBuilder are very similar, the former simply exists for code that doesn't need to link to the big libQtDesigner
> > (which is mostly for designer plugins). Could kjsembed maybe use only QUiLoader?
> >
> > qwidget_binding.cpp:      gUiLoader = new QUiLoader();
> > qformbuilder_binding.cpp:        QFormBuilder *formBuilder = new QFormBuilder();
> >
> >
>
>

Yeah, iirc the formbuilder binding was only there before uiloader was
exposed around 4.1 or something. In fact I think QUiLoader uses
formbuilder internally anyway. Erik do your thang.

Matt




More information about the kde-core-devel mailing list