On Thu, Feb 09, 2006 at 08:49:24PM +0100, David Faure wrote:
> On Thursday 09 February 2006 20:34, Koos Vriezen wrote:
> > Hi,
> >
> > After updating my SVN checkout, the kde-3.5 branch, I get an undefined
> > symbol: _ZN8KMPlayer8PartBase7processERK8QCStringRK9QMemAr rayIcERS1_RS5_
> > when using the kmplayer plugin with kmplayer. This symbol,


Sorry, this should read: .. using the kmplayer plugin with konqueror ..

> > KMPlayer::PartBase:rocess(QCString const&, QMemArray const&,
> > QCString&, QMemArray&), is defined in kmplayercommon.so and comes
> > from PlayerDCOPObject base class.
> > The dcop tools generate a kmplayerpartbase_skel.cpp, but don't add the
> > KDE_EXPORT to these methods.

>
> skel.cpp is only the generated implementation of -methods-, not of a class.
> Why not add KDE_EXPORT to your class, i.e. KMPlayer::PartBase, if it's in a library?


Yes, it's in kmplayercommon.so and it's declared as
class KMPLAYER_EXPORT PartBase : public KMediaPlayer::Player
and
#define KMPLAYER_EXPORT KDE_EXPORT
in case of
#if __GNUC__ - 0 > 3 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 > 3)
which should be the case for gcc-4.0.2

Actually I forgot about this class export, but it's there already.
Strange, because I got it working by adding KDE_EXPORT in this
kmplayerpartbase_skel.cpp .... hmm. after doing 'make clean && make
install' it suddenly works.
Darn, I don't understand because I did do 'make -f Makefile.cvs;
../configure --whatever; make install'. This, because of a dcop change
somewhere else in the sources (other source file, other classes).
Maybe, it's the editing of kmplayerpartbase_skel.cpp that did it (but I
did do a 'make clean' a few times too), hmm ..

Koos


>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<