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. > > > >
