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