kplato compile problem on windows

Pierre Stirnweiss pstirnweiss at googlemail.com
Mon Jan 24 07:57:15 GMT 2011


As some of may know, I am trying to get Calligra to compile on Windows
MSVC2010. I have encountered a couple of problems, which were easy enough to
solve (with the help of SaroEngels).
The one I am facing now is apparently way more complicated:

in kplato/libs/kernel/kpappointment.h we have the following:

class KPLATO_EXPORT AppointmentInterval {}
class KPLATO_EXPORT AppointmentIntervalList: public QMultiMap<QDate,
AppointmentInterval> {}

This construct yields the error C2487:
 'identifier' : member of dll interface class may not be declared with dll
interface
You can declare a whole class, or certain members of a non-DLL interface
class, with DLL interface. You cannot declare a class with DLL interface and
then declare a member of that class with DLL interface.


According to SaroEngels, both QDate and AppointmentInterval are problematic
here. A solution he proposed to this is to have the following:

class KPLATO_EXPORT AppointmentInterval;

class AppointmentIntervalBase : public QMultiMap<QDate, AppointmentInterval>

class KPLATO_EXPORT AppointmentIntervalList : public AppointmentIntervalBase


Any further thought on this?


PierreSt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20110124/c075f2fd/attachment.htm>


More information about the calligra-devel mailing list