It looks like you have some code that was compiled with Crypto++ 4.2
headers, and the linker is trying to find some functions that have
different signatures in Crypto++ 5.0. You should figure out if you
still have old headers lingering around in your system, or if some of your
files are not being rebuilt.

On Mon, Mar 10, 2003 at 08:38:48AM -0600, Rickey Braddam wrote:
> I hope one of you can help me with this, if it isn't too much trouble.
> 
> I'm getting 16 "unresolved external symbol" linker errors
> concerning BufferedTransformation and std::string. I'm using
> std::string in StringSource and StringSink like so:
> 
> StreamTransformationFilter encrypter(encryption, new StringSink(cyphertxt));
> encrypter.Put((byte*)rxmsg.c_str(), rxmsg.length(), false);
> 
> I've attached two text files, one is the .h header file I made to
> make it easy to include all the classes I'm using. The other is a
> list of the errors I'm getting.
> 
> It looks like both StringSink and StringSource do not define the
> Channel... functions declared in BufferTransformation. Am I
> interpreting that correctly?
> 
> Do I need to add more headers to my list in crpp.h? Should I
> implement dummy functions for the ones I get the link errors on?
> 
> Rick

> #ifndef CRYPTOPP_CRPP_H
> #define CRYPTOPP_CRPP_H
> 
> /*
> *     Crpp.h include file for all crypto functions
> */
> #include "cryptopp50\config.h"
> #include "cryptopp50\cryptlib.h"
> #include "cryptopp50\algebra.h"
> #include "cryptopp50\arc4.h"
> #include "cryptopp50\asn.h"
> #include "cryptopp50\base64.h"
> #include "cryptopp50\blowfish.h"
> #include "cryptopp50\cast.h"
> #include "cryptopp50\cast.h"
> #include "cryptopp50\cbc.h"
> #include "cryptopp50\cbcmac.h"
> #include "cryptopp50\crc.h"
> #include "cryptopp50\channels.h"
> #include "cryptopp50\cryptlib.h"
> #include "cryptopp50\default.h"
> #include "cryptopp50\des.h"
> #include "cryptopp50\dh.h"
> #include "cryptopp50\dh2.h"
> #include "cryptopp50\diamond.h"
> #include "cryptopp50\dmac.h"
> #include "cryptopp50\dsa.h"
> #include "cryptopp50\ec2n.h"
> #include "cryptopp50\eccrypto.h"
> #include "cryptopp50\ecp.h"
> #include "cryptopp50\elgamal.h"
> #include "cryptopp50\eprecomp.h"
> #include "cryptopp50\files.h"
> #include "cryptopp50\filters.h"
> #include "cryptopp50\gf256.h"
> #include "cryptopp50\gf2_32.h"
> #include "cryptopp50\gf2n.h"
> #include "cryptopp50\gost.h"
> #include "cryptopp50\gzip.h"
> #include "cryptopp50\haval.h"
> #include "cryptopp50\hex.h"
> #include "cryptopp50\hmac.h"
> #include "cryptopp50\idea.h"
> #include "cryptopp50\integer.h"
> #include "cryptopp50\iterhash.h"
> #include "cryptopp50\luc.h"
> #include "cryptopp50\mars.h"
> #include "cryptopp50\md2.h"
> #include "cryptopp50\md5.h"
> #include "cryptopp50\md5mac.h"
> #include "cryptopp50\mdc.h"
> #include "cryptopp50\misc.h"
> #include "cryptopp50\modarith.h"
> #include "cryptopp50\modes.h"
> #include "cryptopp50\modexppc.h"
> #include "cryptopp50\mqueue.h"
> #include "cryptopp50\nbtheory.h"
> #include "cryptopp50\network.h"
> #include "cryptopp50\nr.h"
> #include "cryptopp50\osrng.h"
> #include "cryptopp50\pkcspad.h"
> #include "cryptopp50\polynomi.h"
> #include "cryptopp50\pssr.h"
> #include "cryptopp50\pubkey.h"
> #include "cryptopp50\queue.h"
> #include "cryptopp50\rabin.h"
> #include "cryptopp50\randpool.h"
> #include "cryptopp50\rc2.h"
> #include "cryptopp50\rc5.h"
> #include "cryptopp50\rijndael.h"
> #include "cryptopp50\ripemd.h"
> #include "cryptopp50\rng.h"
> #include "cryptopp50\rsa.h"
> #include "cryptopp50\rw.h"
> #include "cryptopp50\sapphire.h"
> #include "cryptopp50\serpent.h"
> #include "cryptopp50\sha.h"
> #include "cryptopp50\simple.h"
> #include "cryptopp50\secblock.h"
> #include "cryptopp50\smartptr.h"
> #include "cryptopp50\tiger.h"
> #include "cryptopp50\twofish.h"
> #include "cryptopp50\words.h"
> #include "cryptopp50\xormac.h"
> #include "cryptopp50\zdeflate.h"
> #include "cryptopp50\zinflate.h"
> #include "cryptopp50\zlib.h"
> 
> #endif

> LNK2001: unresolved external symbol "public: virtual void __thiscall 
>       CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(class
>       std::basic_string<char,struct std::char_traits<char>,class
>       std::allocator<char> > const &,int)"
> 
> LNK2001: unresolved external symbol "public: virtual void __thiscall
>       CryptoPP::BufferedTransformation::ChannelPutMessageEnd(class
>       std::basic_string<char,struct std::char_traits<char>,class
>       std::allocator<char> > const &,unsigned char const *,unsigned int,int)"
> 
> LNK2001: unresolved external symbol "public: virtual void __thiscall
>       CryptoPP::BufferedTransformation::ChannelMessageEnd(class
>       std::basic_string<char,struct std::char_traits<char>,class
>       std::allocator<char> > const &,int)"
> 
> LNK2001: unresolved external symbol "public: virtual void __thiscall
>       CryptoPP::BufferedTransformation::ChannelFlush(class
>       std::basic_string<char,struct std::char_traits<char>,class
>       std::allocator<char> > const &,bool,int)"
> 
> LNK2001: unresolved external symbol "public: virtual void __thiscall
>       CryptoPP::BufferedTransformation::ChannelPut(class
>       std::basic_string<char,struct std::char_traits<char>,class
>       std::allocator<char> > const &,unsigned char)"
> 
> LNK2001: unresolved external symbol "public: virtual void __thiscall
>       CryptoPP::BufferedTransformation::ChannelPut(class
>       std::basic_string<char,struct std::char_traits<char>,class
>       std::allocator<char> > const &,unsigned char const *,unsigned int)"
> 
> LNK2001: unresolved external symbol "public: virtual void __thiscall
>       CryptoPP::BufferedTransformation::CopyAllTo(class
>       CryptoPP::BufferedTransformation &)const "
> 
> LNK2001: unresolved external symbol "public: virtual void __thiscall
>       CryptoPP::BufferedTransformation::TransferAllTo(class
>       CryptoPP::BufferedTransformation &)"
> 
> LNK2001: unresolved external symbol "public: virtual unsigned int 
>       __thiscall CryptoPP::BufferedTransformation::CopyMessagesTo
>       (class CryptoPP::BufferedTransformation &, unsigned int)const "
> 
> LNK2001: unresolved external symbol "public: virtual unsigned int 
>       __thiscall CryptoPP::BufferedTransformation::TransferMessagesTo
>       (class CryptoPP::BufferedTransformation &,unsigned int)"
> 
> LNK2001: unresolved external symbol "public: virtual unsigned long 
>       __thiscall CryptoPP::BufferedTransformation::CopyTo
>       (class CryptoPP::BufferedTransformation &,unsigned long)const "
> 
> LNK2001: unresolved external symbol "public: virtual unsigned long 
>       __thiscall CryptoPP::BufferedTransformation::TransferTo
>       (class CryptoPP::BufferedTransformation &,unsigned long)"
> 
> LNK2001: unresolved external symbol "public: virtual void 
>       __thiscall CryptoPP::BufferedTransformation::MessageSeriesEnd(int)"
> 
> LNK2001: unresolved external symbol "public: virtual void 
>       __thiscall CryptoPP::BufferedTransformation::PutMessageEnd
>       (unsigned char const *,unsigned int,int)"
> 
> LNK2001: unresolved external symbol "public: virtual void 
> __thiscall CryptoPP::BufferedTransformation::MessageEnd(int)"
> 
> LNK2001: unresolved external symbol "public: virtual void 
> __thiscall CryptoPP::BufferedTransformation::Flush(bool,int)"

Reply via email to