You should probably just upgrade to Crypto++ 5.2.1, which fixes all of 
these problems. It would be easier to add "CRYPTOPP_DLL" where you need it 
to export the algorithms you use, instead of trying to apply the fixes 
back to 5.1.

On Tue, Oct 26, 2004 at 12:56:34PM +0300, Voronkov Konstantin wrote:
> Wei Dai, thanks for help, now we have other problem:
> 
> P:\include\stlport\stl/_alloc.h(506) : error C2784: 'class 
> _STL::allocator<_Tp2> &__cdecl _STL::__stl_alloc_rebind(class 
> _STL::allocator<_Tp1> &,const _Tp2 *)' : could not deduce template argument 
> for 'class _STL::allocator<_Tp> &' from 'class Crypt
> oPP::AllocatorWithCleanup<struct CryptoPP::HuffmanDecoder::CodeInfo>'
> 
> P:\include\stlport\stl/_alloc.h(505) : while compiling class-template member 
> function 'void __thiscall _STL::_STLP_alloc_proxy<struct 
> CryptoPP::HuffmanDecoder::CodeInfo *,struct 
> CryptoPP::HuffmanDecoder::CodeInfo,class CryptoPP::AllocatorWit
> 
> hCleanup<struct CryptoPP::HuffmanDecoder::CodeInfo> >::deallocate(struct 
> CryptoPP::HuffmanDecoder::CodeInfo *,unsigned int)'
> 
> P:\include\stlport\stl/_alloc.h(506) : error C2784: 'class 
> _STL::allocator<_Tp2> &__cdecl _STL::__stl_alloc_rebind(class 
> _STL::allocator<_Tp1> &,const _Tp2 *)' : could not deduce template argument 
> for 'class _STL::allocator<_Tp> &' from 'class Crypt
> 
> oPP::AllocatorWithCleanup<struct CryptoPP::HuffmanDecoder::CodeInfo>'
> 
> P:\include\stlport\stl/_alloc.h(505) : while compiling class-template member 
> function 'void __thiscall _STL::_STLP_alloc_proxy<struct 
> CryptoPP::HuffmanDecoder::CodeInfo *,struct 
> CryptoPP::HuffmanDecoder::CodeInfo,class CryptoPP::AllocatorWit
> 
> hCleanup<struct CryptoPP::HuffmanDecoder::CodeInfo> >::deallocate(struct 
> CryptoPP::HuffmanDecoder::CodeInfo *,unsigned int)'
> 
> P:\include\stlport\stl/_alloc.h(506) : error C2228: left of '.deallocate' 
> must have class/struct/union type
> 
> P:\include\stlport\stl/_alloc.h(505) : while compiling class-template member 
> function 'void __thiscall _STL::_STLP_alloc_proxy<struct 
> CryptoPP::HuffmanDecoder::CodeInfo *,struct 
> CryptoPP::HuffmanDecoder::CodeInfo,class CryptoPP::AllocatorWit
> 
> hCleanup<struct CryptoPP::HuffmanDecoder::CodeInfo> >::deallocate(struct 
> CryptoPP::HuffmanDecoder::CodeInfo *,unsigned int)'
> 
> 
> Is there a way to solve it, please?
> 
> Regards,
> Konstantin
> 
> 
> ----- Original Message ----- 
> From: "Wei Dai" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, October 26, 2004 11:37 AM
> Subject: Re: CryptoPP and STLPort
> 
> 
> > Modify iterhash.h and rename "hash" to something else. It's conflicting
> > with the use of "hash" in STLport.
> >
> > On Tue, Oct 26, 2004 at 10:59:41AM +0300, Voronkov Konstantin wrote:
> >> Hello, All!
> >>
> >> We have modified CryptoPP library version 5.1.
> >>  We had no problem build until installed STLport-4.6.2 library.
> >> Now we have next errors:
> >>
> >> p:\include\cryptopp\iterhash.h(99) : error C2955: 'hash' : use of class 
> >> template requires template argument list
> >>         p:\include\stlport\stl\_hash_fun.h(40) : see declaration of 
> >> 'hash'
> >>         p:\include\stlport\stl\_alloc.h(349) : while compiling 
> >> class-template member function 'void __thiscall 
> >> CryptoPP::IteratedHashBase2<unsigned long,struct 
> >> CryptoPP::EnumToType<enum CryptoPP::ByteOrder,1>,class 
> >> CryptoPP::HashTransformation>::Tru
> >> ncatedFinal(unsigned char *,unsigned int)'
> >> p:\include\cryptopp\iterhash.h(99) : error C2955: 'hash' : use of class 
> >> template requires template argument list
> >>         p:\include\stlport\stl\_hash_fun.h(40) : see declaration of 
> >> 'hash'
> >>         p:\include\stlport\stl\_alloc.h(349) : while compiling 
> >> class-template member function 'void __thiscall 
> >> CryptoPP::IteratedHashBase2<unsigned __int64,struct 
> >> CryptoPP::EnumToType<enum CryptoPP::ByteOrder,1>,class 
> >> CryptoPP::HashTransformation>::
> >> TruncatedFinal(unsigned char *,unsigned int)'
> >> p:\include\cryptopp\iterhash.h(99) : error C2955: 'hash' : use of class 
> >> template requires template argument list
> >>         p:\include\stlport\stl\_hash_fun.h(40) : see declaration of 
> >> 'hash'
> >>         p:\include\stlport\stl\_alloc.h(349) : while compiling 
> >> class-template member function 'void __thiscall 
> >> CryptoPP::IteratedHashBase2<unsigned long,struct 
> >> CryptoPP::EnumToType<enum CryptoPP::ByteOrder,0>,class 
> >> CryptoPP::HashTransformation>::Tru
> >> ncatedFinal(unsigned char *,unsigned int)'
> >>
> >> We build under Visual Studio 6 sp 5.
> >> Can you give any hint how to work around this problem?
> >>
> >> Best Regards,
> >> Voronkov Konstantin
> >>
> >> P.S. Sorry for such kind of report. I'm asking for help if this kind of 
> >> problem
> >>  was reached in non-modified version and there is a solution to it.
> >> We need modified version of CryptoPP, because we want link CryptoPP
> >>  dynamically, but unfortunatelly not all crypto aglorithms
> >> are exported from CryptoPP.
> >
> > 

Reply via email to