kjsembed uses both QUiLoader and QFormBuilder
Erik L. Bunce
kde at bunce.us
Sun Dec 10 21:12:23 GMT 2006
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();
>
>
More information about the kde-core-devel
mailing list