[Kde-pim] Build problems with akonadi-ports/kdepim on windows
Bernhard Herzog
bh at intevation.de
Thu Oct 29 19:09:19 GMT 2009
Hi,
we've got problems building akonadi-ports/kdepim on windows. AFAICT the code
in question is not quite correct on linux either, hence the cross post to
both kde-windows and kde-pim.
The immediate problem is that when building rev. 1042282 of
akonadi-ports/kdepim on windows with mingw, the build fails with
E:\e5\07\svn\branches\work\akonadi-ports\kdepim\kmail\globalsettings.cpp:28:
error: definition of static data member 'GlobalSettings::mSelf' of
dllimport'd class
In file included from E:
\e5\07\svn\branches\work\akonadi-ports\kdepim\kmail\globalsettings.cpp:62:
E:/e5/07/build/akonadi-porting-branch/kdepim-20091026/work/mingw-RelWithDebInfo-svn/kmail/globalsettings.moc:43:
error: definition of static data member 'GlobalSettings::staticMetaObject' of
dllimport'd class
E:/e5/07/build/akonadi-porting-branch/kdepim-20091026/work/mingw-RelWithDebInfo-svn/kmail/globalsettings.moc:43:
warning: 'GlobalSettings::staticMetaObject' defined locally after being
referenced with dllimport linkage
E:\e5\07\svn\branches\work\akonadi-ports\kdepim\kmail\globalsettings.cpp: In
member function `virtual int GlobalSettings::qt_metacall(QMetaObject::Call,
int, void**)':
E:\e5\07\svn\branches\work\akonadi-ports\kdepim\kmail\globalsettings.cpp:54:
warning: non-inline function 'void GlobalSettings::slotSyncNow()' is defined
after prior declaration as dllimport: attribute ignored
kmail\globalsettings.h contains this:
#include "messageviewer_export.h"
class QTimer;
class MESSAGEVIEWER_EXPORT GlobalSettings : public GlobalSettingsBase
That doesn't seem right. This globalsettings is linked to kmailprivate, not
messageviewer, so MESSAGEVIEWER_EXPORT will not have the correct value when
actually compiling a component of kmailprivate. Changing this to
kmail_export.h and KMAIL_EXPORT or removing the *_EXPORT altogether doesn't
help because now the linker complains about duplicate symbols in
globalsettings.obj and libmessageviewer.dll.a (Symbols GlobalSettings::self()
and GlobalSettings::requestSync()).
AFAICT the reason for all of this is that r1037942 tried to revert r1031636
but did so incompletely and incorrectly. I've removed the
MESSAGEVIEWER_EXPORT from both libmessageviewer/globalsettings.h and
kmail/globalsettings.h. This seems to work. At least kmail builds now.
Bernhard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20091029/26234e42/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list