bug-commoncpp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compilation under win32 broken


From: W.J.
Subject: Re: Compilation under win32 broken
Date: Sun, 27 Apr 2003 15:53:02 +0200 (CEST)

> > '_thiscall ost::SHATumbler<unsigned __int32>::placeInBuffer(unsigned
> > char*)'
> > (occurences in digest.obj and md5.obj)
>
> Did adding this to sha.cpp:
>
> #ifdef __WIN32__
> unsigned
> SHATumbler<uint32>::placeInBuffer(unsigned char *);
> #endif
>
> make any difference?

Let's see..
It seems VC++ has a problem with dll-exporting 'template' classes, that
is, it totally ignores CCXX_CLASS_EXPORT on them.

sha.cpp
..\include\cc++/digest.h(383) : warning C4275: non dll-interface class
'ost::SHADigest<unsigned __int64,64>' used as base for dll-interface class
'ost::SHA64DigestHelper'
        ..\include\cc++/digest.h(383) : see declaration of
'SHA64DigestHelper'
..\include\cc++/digest.h(385) : warning C4251: 'h' : class
'ost::SHATumbler<unsigned __int32>' needs to have dll-interface to be used
by clients of class 'ost::SHA64DigestHelper'
..\include\cc++/digest.h(386) : warning C4251: 'a' : class
'ost::SHATumbler<unsigned __int32>' needs to have dll-interface to be used
by clients of class 'ost::SHA64DigestHelper'

A kludge like

class CCXX_CLASS_EXPORT ost::SHADigest<unsigned __int64,64>;

Does not solve it.

Wladimir






reply via email to

[Prev in Thread] Current Thread [Next in Thread]