kplato compile problem on windows
Thorsten Zachmann
t.zachmann at zagge.de
Mon Jan 24 08:19:18 GMT 2011
On Monday, January 24, 2011 08:57:15 Pierre Stirnweiss wrote:
> 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?
If I understood the comment from jahm correctly it might mean you need to
implemnt the functions it is complaining about in your inherited class but I'm
not 100% sure about that. Maybe try it with one of the functions to see if the
error message goes away.
Thorsten
More information about the calligra-devel
mailing list