[Kde-bindings] [Bug 99161] kdebindings library linking failure (needs -lkio)

danarmak at gentoo.org danarmak at gentoo.org
Wed Feb 23 21:30:21 UTC 2005


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=99161         
danarmak gentoo org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |danarmak gentoo org



------- Additional Comments From danarmak gentoo org  2005-02-23 22:30 -------
I don't get this error with smoke, but I do get the following link error with
korundum:
-------------
/bin/sh ../../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -march=athlon-xp -O2 -pipe -fomit-frame-pointer -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common    -o krubyinit -module -L/usr/kde/3.4/lib -L/usr/qt/3/lib -L/usr/lib    -version-info 0:0:0 -L../../smoke/kde/ -L/usr/lib krubyinit.o  -Wl,-R -Wl,/usr/lib -L/usr/lib -L. -lruby18 ../../smoke/kde/libsmokekde.la ../../qtruby/rubylib/qtruby/libqtrubyinternal.la
libtool: link: warning: `-version-info' is ignored for programs
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `typeinfo for KNotifyWidgetBase'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::KNotifyWidgetBase(QWidget*, char const*, unsigned int)'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::~KNotifyWidgetBase()'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::className() const'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::staticMetaObject()'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::qt_emit(int, QUObject*)'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::languageChange()'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::qt_cast(char const*)'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::qt_property(int, int, QVariant*)'
/usr/kde/3.4/lib/libsmokekde.so: undefined reference to `KNotifyWidgetBase::qt_invoke(int, QUObject*)'
collect2: ld returned 1 exit status
make[3]: *** [krubyinit] Error 1
-------------------
The following patch to kdelibs fixes the issue:
-------------------
--- kio/kfile/knotifywidgetbase.ui      2005-02-04 01:33:17.000000000 +0200
+++ kio/kfile/knotifywidgetbase.ui      2005-02-23 21:04:18.076264104 +0200
 @ -1,6 +1,7  @
 <!DOCTYPE UI><UI version="3.2" stdsetdef="1">
 <class>KNotifyWidgetBase</class>
 <widget class="QWidget">
+    <exportmacro>KIO_EXPORT</exportmacro>
     <property name="name">
         <cstring>KNotifyWidgetBase</cstring>
     </property>
 @ -457,6 +458,7  @
     <tabstop>m_playerButton</tabstop>
 </tabstops>
 <includes>
+    <include location="global" impldecl="in declaration">kdelibs_export.h</include>
     <include location="global" impldecl="in implementation">kdialog.h</include>
     <include location="global" impldecl="in implementation">klistview.h</include>
     <include location="global" impldecl="in implementation">kurlrequester.h</include>
----------------
However I'm unsure this is the correct way to export a class defined in a .ui.
The qt docs suggest this method, but no other KDE .ui that I've seen does this.



More information about the Kde-bindings mailing list