dang, I should have seen that - a latter reference has the ::Weak:: added 
to it for the hash line. 

Sadly, this seems to make g++ throw out a whole HECK of a lot of errors 
which I have not seen before, I don't know if this is due to something 
funky with my install of libcrypto++ or something more sinister.

Thanks again and sorry for taking so much of your time for something that 
i'm guessing should be trivial.

~Leigh

$ g++ -std=c++11  -I/usr/local/include -lcrypto++ cpp-md5sum.cpp -o 
cpp-md5sum
/tmp/cceD1hXk.o: In function `main':
cpp-md5sum.cpp:(.text+0x332): undefined reference to 
`CryptoPP::StringSinkTemplate<std::string>::StringSinkTemplate(std::string&)'
cpp-md5sum.cpp:(.text+0x344): undefined reference to 
`CryptoPP::BufferedTransformation::Attach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::BufferedTransformation::~BufferedTransformation()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP22BufferedTransformationD2Ev[_ZN8CryptoPP22BufferedTransformationD5Ev]+0x13):
 
undefined reference to `vtable for CryptoPP::BufferedTransformation'
cpp-md5sum.cpp:(.text._ZN8CryptoPP22BufferedTransformationD2Ev[_ZN8CryptoPP22BufferedTransformationD5Ev]+0x1f):
 
undefined reference to `vtable for CryptoPP::BufferedTransformation'
/tmp/cceD1hXk.o: In function `CryptoPP::Filter::~Filter()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP6FilterD2Ev[_ZN8CryptoPP6FilterD5Ev]+0x13): 
undefined reference to `vtable for CryptoPP::Filter'
cpp-md5sum.cpp:(.text._ZN8CryptoPP6FilterD2Ev[_ZN8CryptoPP6FilterD5Ev]+0x1f): 
undefined reference to `vtable for CryptoPP::Filter'
/tmp/cceD1hXk.o: In function 
`CryptoPP::Bufferless<CryptoPP::Filter>::Bufferless()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP10BufferlessINS_6FilterEEC2Ev[_ZN8CryptoPP10BufferlessINS_6FilterEEC5Ev]+0x19):
 
undefined reference to 
`CryptoPP::Filter::Filter(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::FilterWithBufferedInput::Put2(unsigned char const*, unsigned 
long, int, bool)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInput4Put2EPKhmib[_ZN8CryptoPP23FilterWithBufferedInput4Put2EPKhmib]+0x3d):
 
undefined reference to 
`CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(unsigned char*, 
unsigned long, int, bool, bool)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::FilterWithBufferedInput::PutModifiable2(unsigned char*, unsigned 
long, int, bool)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInput14PutModifiable2EPhmib[_ZN8CryptoPP23FilterWithBufferedInput14PutModifiable2EPhmib]+0x3d):
 
undefined reference to 
`CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(unsigned char*, 
unsigned long, int, bool, bool)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::Unflushable<CryptoPP::Filter>::Unflushable()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP11UnflushableINS_6FilterEEC2Ev[_ZN8CryptoPP11UnflushableINS_6FilterEEC5Ev]+0x19):
 
undefined reference to 
`CryptoPP::Filter::Filter(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::FilterWithBufferedInput::~FilterWithBufferedInput()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInputD2Ev[_ZN8CryptoPP23FilterWithBufferedInputD5Ev]+0x13):
 
undefined reference to `vtable for CryptoPP::FilterWithBufferedInput'
cpp-md5sum.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInputD2Ev[_ZN8CryptoPP23FilterWithBufferedInputD5Ev]+0x1f):
 
undefined reference to `vtable for CryptoPP::FilterWithBufferedInput'
/tmp/cceD1hXk.o: In function `CryptoPP::ProxyFilter::~ProxyFilter()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP11ProxyFilterD2Ev[_ZN8CryptoPP11ProxyFilterD5Ev]+0x13):
 
undefined reference to `vtable for CryptoPP::ProxyFilter'
cpp-md5sum.cpp:(.text._ZN8CryptoPP11ProxyFilterD2Ev[_ZN8CryptoPP11ProxyFilterD5Ev]+0x1f):
 
undefined reference to `vtable for CryptoPP::ProxyFilter'
/tmp/cceD1hXk.o: In function 
`CryptoPP::SimpleProxyFilter::SimpleProxyFilter(CryptoPP::BufferedTransformation*,
 
CryptoPP::BufferedTransformation*)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP17SimpleProxyFilterC2EPNS_22BufferedTransformationES2_[_ZN8CryptoPP17SimpleProxyFilterC5EPNS_22BufferedTransformationES2_]+0x31):
 
undefined reference to 
`CryptoPP::ProxyFilter::ProxyFilter(CryptoPP::BufferedTransformation*, 
unsigned long, unsigned long, CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::BaseN_Encoder::BaseN_Encoder(CryptoPP::BufferedTransformation*)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP13BaseN_EncoderC2EPNS_22BufferedTransformationE[_ZN8CryptoPP13BaseN_EncoderC5EPNS_22BufferedTransformationE]+0x24):
 
undefined reference to `vtable for CryptoPP::BaseN_Encoder'
cpp-md5sum.cpp:(.text._ZN8CryptoPP13BaseN_EncoderC2EPNS_22BufferedTransformationE[_ZN8CryptoPP13BaseN_EncoderC5EPNS_22BufferedTransformationE]+0x30):
 
undefined reference to `vtable for CryptoPP::BaseN_Encoder'
cpp-md5sum.cpp:(.text._ZN8CryptoPP13BaseN_EncoderC2EPNS_22BufferedTransformationE[_ZN8CryptoPP13BaseN_EncoderC5EPNS_22BufferedTransformationE]+0x58):
 
undefined reference to 
`CryptoPP::Filter::Detach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::Grouper::Grouper(CryptoPP::BufferedTransformation*)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP7GrouperC2EPNS_22BufferedTransformationE[_ZN8CryptoPP7GrouperC5EPNS_22BufferedTransformationE]+0x24):
 
undefined reference to `vtable for CryptoPP::Grouper'
cpp-md5sum.cpp:(.text._ZN8CryptoPP7GrouperC2EPNS_22BufferedTransformationE[_ZN8CryptoPP7GrouperC5EPNS_22BufferedTransformationE]+0x30):
 
undefined reference to `vtable for CryptoPP::Grouper'
cpp-md5sum.cpp:(.text._ZN8CryptoPP7GrouperC2EPNS_22BufferedTransformationE[_ZN8CryptoPP7GrouperC5EPNS_22BufferedTransformationE]+0x6d):
 
undefined reference to 
`CryptoPP::Filter::Detach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::HexEncoder::HexEncoder(CryptoPP::BufferedTransformation*, bool, 
int, std::string const&, std::string const&)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP10HexEncoderC2EPNS_22BufferedTransformationEbiRKSsS4_[_ZN8CryptoPP10HexEncoderC5EPNS_22BufferedTransformationEbiRKSsS4_]+0x92):
 
undefined reference to `vtable for CryptoPP::HexEncoder'
cpp-md5sum.cpp:(.text._ZN8CryptoPP10HexEncoderC2EPNS_22BufferedTransformationEbiRKSsS4_[_ZN8CryptoPP10HexEncoderC5EPNS_22BufferedTransformationEbiRKSsS4_]+0xa1):
 
undefined reference to `vtable for CryptoPP::HexEncoder'
cpp-md5sum.cpp:(.text._ZN8CryptoPP10HexEncoderC2EPNS_22BufferedTransformationEbiRKSsS4_[_ZN8CryptoPP10HexEncoderC5EPNS_22BufferedTransformationEbiRKSsS4_]+0x15e):
 
undefined reference to 
`CryptoPP::HexEncoder::IsolatedInitialize(CryptoPP::NameValuePairs const&)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::HashTransformation::~HashTransformation()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP18HashTransformationD2Ev[_ZN8CryptoPP18HashTransformationD5Ev]+0x13):
 
undefined reference to `vtable for CryptoPP::HashTransformation'
/tmp/cceD1hXk.o: In function `CryptoPP::SecBlock<unsigned char, 
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::SecBlock(unsigned 
long)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEEC2Em[_ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEEC5Em]+0x30):
 
undefined reference to `CryptoPP::AllocatorWithCleanup<unsigned char, 
false>::allocate(unsigned long, void const*)'
/tmp/cceD1hXk.o: In function `CryptoPP::SecBlock<unsigned char, 
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::~SecBlock()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEED2Ev[_ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEED5Ev]+0x27):
 
undefined reference to `CryptoPP::AllocatorWithCleanup<unsigned char, 
false>::deallocate(void*, unsigned long)'
/tmp/cceD1hXk.o: In function `CryptoPP::SecBlock<unsigned char, 
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::New(unsigned long)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEE3NewEm[_ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEE3NewEm]+0x32):
 
undefined reference to `CryptoPP::AllocatorWithCleanup<unsigned char, 
false>::reallocate(unsigned char*, unsigned long, unsigned long, bool)'
/tmp/cceD1hXk.o: In function `CryptoPP::AlgorithmParameters 
CryptoPP::MakeParameters<bool>(char const*, bool const&, bool)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b[_ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b]+0x26):
 
undefined reference to 
`CryptoPP::AlgorithmParameters::AlgorithmParameters()'
cpp-md5sum.cpp:(.text._ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b[_ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b]+0x4e):
 
undefined reference to 
`CryptoPP::AlgorithmParameters::AlgorithmParameters(CryptoPP::AlgorithmParameters
 
const&)'
/tmp/cceD1hXk.o: In function `CryptoPP::AlgorithmParameters& 
CryptoPP::AlgorithmParameters::operator()<CryptoPP::ConstByteArrayParameter>(char
 
const*, CryptoPP::ConstByteArrayParameter const&, bool)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP19AlgorithmParametersclINS_23ConstByteArrayParameterEEERS0_PKcRKT_b[_ZN8CryptoPP19AlgorithmParametersclINS_23ConstByteArrayParameterEEERS0_PKcRKT_b]+0x3c):
 
undefined reference to 
`CryptoPP::AlgorithmParametersTemplate<CryptoPP::ConstByteArrayParameter>::AlgorithmParametersTemplate(char
 
const*, CryptoPP::ConstByteArrayParameter const&, bool)'
/tmp/cceD1hXk.o: In function `CryptoPP::AlgorithmParameters& 
CryptoPP::AlgorithmParameters::operator()<int>(char const*, int const&, 
bool)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP19AlgorithmParametersclIiEERS0_PKcRKT_b[_ZN8CryptoPP19AlgorithmParametersclIiEERS0_PKcRKT_b]+0x3c):
 
undefined reference to 
`CryptoPP::AlgorithmParametersTemplate<int>::AlgorithmParametersTemplate(char 
const*, int const&, bool)'
/tmp/cceD1hXk.o: In function `CryptoPP::AlgorithmParameters& 
CryptoPP::AlgorithmParameters::operator()<bool>(char const*, bool const&, 
bool)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP19AlgorithmParametersclIbEERS0_PKcRKT_b[_ZN8CryptoPP19AlgorithmParametersclIbEERS0_PKcRKT_b]+0x3c):
 
undefined reference to 
`CryptoPP::AlgorithmParametersTemplate<bool>::AlgorithmParametersTemplate(char 
const*, bool const&, bool)'
/tmp/cceD1hXk.o: In function 
`CryptoPP::HashTransformation::HashTransformation()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP18HashTransformationC2Ev[_ZN8CryptoPP18HashTransformationC5Ev]+0x19):
 
undefined reference to `CryptoPP::Algorithm::Algorithm(bool)'
cpp-md5sum.cpp:(.text._ZN8CryptoPP18HashTransformationC2Ev[_ZN8CryptoPP18HashTransformationC5Ev]+0x24):
 
undefined reference to `vtable for CryptoPP::HashTransformation'
/tmp/cceD1hXk.o: In function 
`CryptoPP::IteratedHashWithStaticTransform<unsigned int, 
CryptoPP::EnumToType<CryptoPP::ByteOrder, 0>, 64u, 16u, 
CryptoPP::Weak1::MD5, 0u, false>::Init()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EE4InitEv[_ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EE4InitEv]+0x20):
 
undefined reference to `CryptoPP::Weak1::MD5::InitState(unsigned int*)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x50):
 
undefined reference to 
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x58):
 
undefined reference to 
`CryptoPP::BufferedTransformation::GetWaitObjects(CryptoPP::WaitObjectContainer&,
 
CryptoPP::CallStack const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x60):
 
undefined reference to 
`CryptoPP::FilterWithBufferedInput::IsolatedInitialize(CryptoPP::NameValuePairs 
const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x68):
 
undefined reference to `CryptoPP::ProxyFilter::IsolatedFlush(bool, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x78):
 
undefined reference to 
`CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x80):
 
undefined reference to `CryptoPP::Filter::Flush(bool, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x88):
 
undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xa0):
 
undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xa8):
 
undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xb0):
 
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned 
char&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xb8):
 
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned 
char*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xc0):
 
undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned 
char&) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xc8):
 
undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned 
char*, unsigned long) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xd0):
 
undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned 
long long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xd8):
 
undefined reference to 
`CryptoPP::BufferedTransformation::TotalBytesRetrievable() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xe0):
 
undefined reference to 
`CryptoPP::BufferedTransformation::NumberOfMessages() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xe8):
 
undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xf0):
 
undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xf8):
 
undefined reference to 
`CryptoPP::BufferedTransformation::SkipMessages(unsigned int)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x100):
 
undefined reference to `CryptoPP::BufferedTransformation::SkipAll()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x120):
 
undefined reference to 
`CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned 
long long&, std::string const&, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x128):
 
undefined reference to 
`CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned 
long long&, unsigned long long, std::string const&, bool) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x130):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::string 
const&, unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x138):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelPut2(std::string const&, unsigned 
char const*, unsigned long, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x140):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::string 
const&, unsigned char*, unsigned long, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x148):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelFlush(std::string const&, bool, 
int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x150):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::string 
const&, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x158):
 
undefined reference to 
`CryptoPP::BufferedTransformation::SetRetrievalChannel(std::string const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x168):
 
undefined reference to `CryptoPP::Filter::AttachedTransformation()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x170):
 
undefined reference to `CryptoPP::Filter::AttachedTransformation() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x178):
 
undefined reference to 
`CryptoPP::Filter::Detach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x180):
 
undefined reference to 
`CryptoPP::BufferedTransformation::Attach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x188):
 
undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x1c0):
 
undefined reference to `CryptoPP::ProxyFilter::NextPutMultiple(unsigned 
char const*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x1c8):
 
undefined reference to `CryptoPP::ProxyFilter::NextPutModifiable(unsigned 
char*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x208):
 
undefined reference to `non-virtual thunk to 
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x210):
 
undefined reference to `non-virtual thunk to 
CryptoPP::BufferedTransformation::GetWaitObjects(CryptoPP::WaitObjectContainer&,
 
CryptoPP::CallStack const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x50):
 
undefined reference to 
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x58):
 
undefined reference to 
`CryptoPP::BufferedTransformation::GetWaitObjects(CryptoPP::WaitObjectContainer&,
 
CryptoPP::CallStack const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x78):
 
undefined reference to 
`CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x88):
 
undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xa0):
 
undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xa8):
 
undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xb0):
 
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned 
char&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xb8):
 
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned 
char*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xc0):
 
undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned 
char&) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xc8):
 
undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned 
char*, unsigned long) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xd0):
 
undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned 
long long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xd8):
 
undefined reference to 
`CryptoPP::BufferedTransformation::TotalBytesRetrievable() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xe0):
 
undefined reference to 
`CryptoPP::BufferedTransformation::NumberOfMessages() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xe8):
 
undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xf0):
 
undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xf8):
 
undefined reference to 
`CryptoPP::BufferedTransformation::SkipMessages(unsigned int)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x100):
 
undefined reference to `CryptoPP::BufferedTransformation::SkipAll()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x120):
 
undefined reference to 
`CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned 
long long&, std::string const&, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x128):
 
undefined reference to 
`CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned 
long long&, unsigned long long, std::string const&, bool) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x130):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::string 
const&, unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x138):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelPut2(std::string const&, unsigned 
char const*, unsigned long, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x140):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::string 
const&, unsigned char*, unsigned long, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x150):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::string 
const&, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x158):
 
undefined reference to 
`CryptoPP::BufferedTransformation::SetRetrievalChannel(std::string const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x168):
 
undefined reference to `CryptoPP::Filter::AttachedTransformation()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x170):
 
undefined reference to `CryptoPP::Filter::AttachedTransformation() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x178):
 
undefined reference to 
`CryptoPP::Filter::Detach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x180):
 
undefined reference to 
`CryptoPP::BufferedTransformation::Attach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x188):
 
undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x1c8):
 
undefined reference to `non-virtual thunk to 
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x1d0):
 
undefined reference to `non-virtual thunk to 
CryptoPP::BufferedTransformation::GetWaitObjects(CryptoPP::WaitObjectContainer&,
 
CryptoPP::CallStack const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x50):
 
undefined reference to 
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x58):
 
undefined reference to 
`CryptoPP::BufferedTransformation::GetWaitObjects(CryptoPP::WaitObjectContainer&,
 
CryptoPP::CallStack const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x78):
 
undefined reference to 
`CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x80):
 
undefined reference to `CryptoPP::Filter::Flush(bool, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x88):
 
undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xa0):
 
undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xa8):
 
undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xb0):
 
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned 
char&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xb8):
 
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned 
char*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xc0):
 
undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned 
char&) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xc8):
 
undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned 
char*, unsigned long) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xd0):
 
undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned 
long long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xd8):
 
undefined reference to 
`CryptoPP::BufferedTransformation::TotalBytesRetrievable() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xe0):
 
undefined reference to 
`CryptoPP::BufferedTransformation::NumberOfMessages() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xe8):
 
undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() 
const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xf0):
 
undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xf8):
 
undefined reference to 
`CryptoPP::BufferedTransformation::SkipMessages(unsigned int)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x100):
 
undefined reference to `CryptoPP::BufferedTransformation::SkipAll()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x120):
 
undefined reference to 
`CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned 
long long&, std::string const&, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x128):
 
undefined reference to 
`CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned 
long long&, unsigned long long, std::string const&, bool) const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x130):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::string 
const&, unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x138):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelPut2(std::string const&, unsigned 
char const*, unsigned long, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x140):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::string 
const&, unsigned char*, unsigned long, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x148):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelFlush(std::string const&, bool, 
int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x150):
 
undefined reference to 
`CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::string 
const&, int, bool)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x158):
 
undefined reference to 
`CryptoPP::BufferedTransformation::SetRetrievalChannel(std::string const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x168):
 
undefined reference to `CryptoPP::Filter::AttachedTransformation()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x170):
 
undefined reference to `CryptoPP::Filter::AttachedTransformation() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x178):
 
undefined reference to 
`CryptoPP::Filter::Detach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x180):
 
undefined reference to 
`CryptoPP::BufferedTransformation::Attach(CryptoPP::BufferedTransformation*)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x188):
 
undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x1c0):
 
undefined reference to `non-virtual thunk to 
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x1c8):
 
undefined reference to `non-virtual thunk to 
CryptoPP::BufferedTransformation::GetWaitObjects(CryptoPP::WaitObjectContainer&,
 
CryptoPP::CallStack const&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP5Weak13MD5E[_ZTVN8CryptoPP5Weak13MD5E]+0x30):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP5Weak13MD5E[_ZTVN8CryptoPP5Weak13MD5E]+0x38):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP5Weak13MD5E[_ZTVN8CryptoPP5Weak13MD5E]+0x48):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Restart()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP5Weak13MD5E[_ZTVN8CryptoPP5Weak13MD5E]+0x88):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned 
long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP5Weak13MD5E[_ZTVN8CryptoPP5Weak13MD5E]+0x98):
 
undefined reference to 
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP5Weak13MD5E[_ZTVN8CryptoPP5Weak13MD5E]+0xc0):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE[_ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE]+0x30):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE[_ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE]+0x38):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE[_ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE]+0x48):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Restart()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE[_ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE]+0x88):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned 
long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE[_ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE]+0x98):
 
undefined reference to 
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE[_ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EEE]+0xc0):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE[_ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE]+0x30):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE[_ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE]+0x38):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE[_ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE]+0x48):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Restart()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE[_ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE]+0x88):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned 
long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE[_ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE]+0x98):
 
undefined reference to 
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE[_ZTVN8CryptoPP12ClonableImplINS_5Weak13MD5ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEES2_EEEE]+0xc0):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE[_ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE]+0x30):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE[_ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE]+0x38):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE[_ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE]+0x48):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Restart()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE[_ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE]+0x88):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned 
long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE[_ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE]+0x98):
 
undefined reference to 
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE[_ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEENS_5Weak13MD5EEE]+0xc0):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE[_ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE]+0x30):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE[_ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE]+0x38):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE[_ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE]+0x48):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Restart()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE[_ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE]+0x88):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned 
long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE[_ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE]+0x98):
 
undefined reference to 
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE[_ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ENS_18HashTransformationEEE]+0xc0):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE[_ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE]+0x30):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE[_ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE]+0x38):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE[_ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE]+0x48):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::Restart()'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE[_ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE]+0x88):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned 
long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE[_ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE]+0x98):
 
undefined reference to 
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE[_ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE]+0xc0):
 
undefined reference to `CryptoPP::IteratedHashBase<unsigned int, 
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, 
unsigned long)'
/tmp/cceD1hXk.o:(.rodata._ZTIN8CryptoPP17SimpleProxyFilterE[_ZTIN8CryptoPP17SimpleProxyFilterE]+0x10):
 
undefined reference to `typeinfo for CryptoPP::ProxyFilter'
/tmp/cceD1hXk.o:(.rodata._ZTIN8CryptoPP11UnflushableINS_6FilterEEE[_ZTIN8CryptoPP11UnflushableINS_6FilterEEE]+0x10):
 
undefined reference to `typeinfo for CryptoPP::Filter'
/tmp/cceD1hXk.o:(.rodata._ZTIN8CryptoPP10BufferlessINS_6FilterEEE[_ZTIN8CryptoPP10BufferlessINS_6FilterEEE]+0x10):
 
undefined reference to `typeinfo for CryptoPP::Filter'
/tmp/cceD1hXk.o:(.rodata._ZTIN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE[_ZTIN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE]+0x10):
 
undefined reference to `typeinfo for CryptoPP::HashTransformation'
/tmp/cceD1hXk.o: In function 
`CryptoPP::AlgorithmParameters::~AlgorithmParameters()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP19AlgorithmParametersD2Ev[_ZN8CryptoPP19AlgorithmParametersD5Ev]+0x13):
 
undefined reference to `vtable for CryptoPP::AlgorithmParameters'
/tmp/cceD1hXk.o: In function `CryptoPP::HexEncoder::~HexEncoder()':
cpp-md5sum.cpp:(.text._ZN8CryptoPP10HexEncoderD2Ev[_ZN8CryptoPP10HexEncoderD5Ev]+0x13):
 
undefined reference to `vtable for CryptoPP::HexEncoder'
cpp-md5sum.cpp:(.text._ZN8CryptoPP10HexEncoderD2Ev[_ZN8CryptoPP10HexEncoderD5Ev]+0x1f):
 
undefined reference to `vtable for CryptoPP::HexEncoder'
/tmp/cceD1hXk.o: In function 
`CryptoPP::Unflushable<CryptoPP::Filter>::Flush(bool, int, bool)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP11UnflushableINS_6FilterEE5FlushEbib[_ZN8CryptoPP11UnflushableINS_6FilterEE5FlushEbib]+0x3b):
 
undefined reference to `CryptoPP::DEFAULT_CHANNEL'
/tmp/cceD1hXk.o: In function 
`CryptoPP::HashTransformation::HashTransformation(CryptoPP::HashTransformation 
const&)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP18HashTransformationC2ERKS0_[_ZN8CryptoPP18HashTransformationC5ERKS0_]+0x2a):
 
undefined reference to `vtable for CryptoPP::HashTransformation'
/tmp/cceD1hXk.o: In function 
`CryptoPP::IteratedHashWithStaticTransform<unsigned int, 
CryptoPP::EnumToType<CryptoPP::ByteOrder, 0>, 64u, 16u, 
CryptoPP::Weak1::MD5, 0u, false>::HashEndianCorrectedBlock(unsigned int 
const*)':
cpp-md5sum.cpp:(.text._ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EE24HashEndianCorrectedBlockEPKj[_ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi0EEELj64ELj16ENS_5Weak13MD5ELj0ELb0EE24HashEndianCorrectedBlockEPKj]+0x2b):
 
undefined reference to `CryptoPP::Weak1::MD5::Transform(unsigned int*, 
unsigned int const*)'
collect2: error: ld returned 1 exit status



On Tuesday, April 5, 2016 at 9:58:14 PM UTC-7, Jeffrey Walton wrote:
>
>
>
> On Wednesday, April 6, 2016 at 12:55:17 AM UTC-4, Leighb2282 wrote:
>>
>> Hi Jeff,
>>
>> Thanks for taking the time to reply, unfortunately, the linked wiki 
>> article seems to be incomplete (you would need to include hex.h for 
>> HexEncoder or else you get g++ complaining about HexEncoder not being a 
>> member of CryptoPP)
>>
>> Even after adding that header to the code it still gives a compile error 
>> complaning that CryptoPP::MD5 has not been declared.
>>
>> As before here is the code I tried (pretty much a copy of the code from 
>> that wiki + some slight additions (iostream, hex.h, stream)
>>
>> Many thanks again!
>>
>> ~Leigh
>>
>> #include <iostream>
>> #include <string>
>>
>> #define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1
>>
>> #include <crypto++/md5.h>
>> #include <crypto++/hex.h>
>> int main()
>> {
>>
>>     byte digest[ CryptoPP::MD5::DIGESTSIZE ];
>>     std::string message = "foobarbat";
>>
>>     CryptoPP::Weak::MD5 hash;
>>     hash.CalculateDigest( digest, (byte*) message.c_str(), 
>> message.length() );
>>     
>>     CryptoPP::HexEncoder encoder;
>>     std::string output;
>>
>>     encoder.Attach( new CryptoPP::StringSink( output ) );
>>     encoder.Put( digest, sizeof(digest) );
>>     encoder.MessageEnd();
>>
>>     return 0;
>> }
>>
>> and I tried to compile it using this command
>>
>> g++ -std=c++11  -I/usr/local/include -lcrypto++ cpp-md5sum.cpp -o 
>> cpp-md5sum
>>
>> getting the error:
>>
>> $ g++ -std=c++11  -I/usr/local/include -lcrypto++ cpp-md5sum.cpp -o 
>> cpp-md5sum
>> cpp-md5sum.cpp: In function ‘int main()’:
>> cpp-md5sum.cpp:11:28: error: ‘CryptoPP::MD5’ has not been declared
>>      byte digest[ CryptoPP::MD5::DIGESTSIZE ];
>>                             ^
>> cpp-md5sum.cpp:15:27: error: ‘digest’ was not declared in this scope
>>      hash.CalculateDigest( digest, (byte*) message.c_str(), 
>> message.length() );
>>
>>
> Change this:
>
>     CryptoPP::MD5::DIGESTSIZE
>
> To this:
>
>     CryptoPP::Weak::MD5::DIGESTSIZE
>
> Jeff 
>

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to