[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