[Top][All Lists]
[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