[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