Re: visibility of K_DCOP
On Thu, Feb 09, 2006 at 08:49:24PM +0100, David Faure wrote:[color=blue]
> On Thursday 09 February 2006 20:34, Koos Vriezen wrote:[color=green]
> > Hi,
> > After updating my SVN checkout, the kde-3.5 branch, I get an undefined
> > symbol: _ZN8KMPlayer8PartBase7processERK8QCStringRK9QMemArrayIcERS1_RS5_
> > when using the kmplayer plugin with kmplayer. This symbol,[/color][/color]
Sorry, this should read: .. using the kmplayer plugin with konqueror ..
> > KMPlayer::PartBase::process(QCString const&, QMemArray<char> const&,
> > QCString&, QMemArray<char>&), 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.[/color]
> 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?[/color]
Yes, it's in kmplayercommon.so and it's declared as
class KMPLAYER_EXPORT PartBase : public KMediaPlayer::Player
#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 ..
>> Visit [url]http://mail.kde.org/mailman/listinfo/kde-devel#unsub[/url] to unsubscribe <<[/color][/color]