|
View:
New views
10 Messages
—
Rating Filter:
Alert me
|
|
|
sha1sum example?can anyone give me an example of how to create a sha1sum given the path? (fyi I'm using boost::filesystem for path's) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?Caleb Cushing ( xenoterracide ) wrote: > can anyone give me an example of how to create a sha1sum given the > path? (fyi I'm using boost::filesystem for path's) > Something like this should work: #include <crypto++/sha.h> #include <crypto++/hex.h> #include <crypto++/files.h> std::string getSHA1Hash(const boost::filesystem::path& p_file, bool p_upperCase) { std::string result; try { CryptoPP::SHA1 hash; CryptoPP::FileSource(p_file.file_string().c_str(),true,new CryptoPP::HashFilter(hash,new CryptoPP::HexEncoder(new CryptoPP::StringSink(result),p_upperCase))); } catch (const std::exception& e) { throw ... // some exception } return result; } Regards, Peter. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?what I ended up writing... #include <cryptopp/sha.h> #include <cryptopp/hex.h> #include <cryptopp/files.h> #include <boost/filesystem.hpp> #include <string> #include <iostream> using namespace std; using namespace boost::filesystem; string getSha1Hash(const path &file, bool uppercase) { string result; CryptoPP::SHA1 hash; CryptoPP::FileSource(file.file_string().c_str(),true, new CryptoPP::HashFilter(hash, new CryptoPP::HexEncoder( new CryptoPP::StringSink(result),uppercase))); return result; } int main() { string sha1; path file("test.txt"); sha1 = getSha1Hash(file, true); cout << sha1 << endl; } It seems to have problems linking though... g++ -lboost_filesystem -lcryptopp sha1.cpp /tmp/cctxcX1W.o: In function `getSha1Hash (boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&, bool)': sha1.cpp:(.text+0x5a): undefined reference to `CryptoPP::StringSinkTemplate<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::StringSinkTemplate (std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' sha1.cpp:(.text+0x117): undefined reference to `CryptoPP::DEFAULT_CHANNEL' sha1.cpp:(.text+0x11d): undefined reference to `CryptoPP::DEFAULT_CHANNEL' sha1.cpp:(.text+0x133): undefined reference to `CryptoPP::HashFilter::HashFilter(CryptoPP::HashTransformation&, CryptoPP::BufferedTransformation*, bool, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o: In function `CryptoPP::BufferedTransformation::BufferedTransformation ()': sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationC2Ev [CryptoPP::BufferedTransformation::BufferedTransformation()]+0x19): undefined reference to `CryptoPP::Algorithm::Algorithm (bool)' sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationC2Ev [CryptoPP::BufferedTransformation::BufferedTransformation()]+0x34): undefined reference to `vtable for CryptoPP::BufferedTransformation' sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationC2Ev [CryptoPP::BufferedTransformation::BufferedTransformation()]+0x40): undefined reference to `vtable for CryptoPP::BufferedTransformation' /tmp/cctxcX1W.o: In function `CryptoPP::BufferedTransformation::~BufferedTransformation ()': sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationD2Ev [CryptoPP::BufferedTransformation::~BufferedTransformation()]+0x13): undefined reference to `vtable for CryptoPP::BufferedTransformation' sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationD2Ev [CryptoPP::BufferedTransformation::~BufferedTransformation()]+0x1f): undefined reference to `vtable for CryptoPP::BufferedTransformation' /tmp/cctxcX1W.o: In function `CryptoPP::Store::Store ()': sha1.cpp:(.text._ZN8CryptoPP5StoreC2Ev[CryptoPP::Store::Store()] +0x24): undefined reference to `vtable for CryptoPP::Store' sha1.cpp:(.text._ZN8CryptoPP5StoreC2Ev[CryptoPP::Store::Store()] +0x30): undefined reference to `vtable for CryptoPP::Store' /tmp/cctxcX1W.o: In function `CryptoPP::Filter::~Filter ()': sha1.cpp:(.text._ZN8CryptoPP6FilterD2Ev[CryptoPP::Filter::~Filter()] +0x16): undefined reference to `vtable for CryptoPP::Filter' sha1.cpp:(.text._ZN8CryptoPP6FilterD2Ev[CryptoPP::Filter::~Filter()] +0x22): undefined reference to `vtable for CryptoPP::Filter' /tmp/cctxcX1W.o: In function `CryptoPP::Bufferless<CryptoPP::Filter>::Bufferless ()': sha1.cpp:(.text._ZN8CryptoPP10BufferlessINS_6FilterEEC2Ev [CryptoPP::Bufferless<CryptoPP::Filter>::Bufferless()]+0x19): undefined reference to `CryptoPP::Filter::Filter (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: In function `CryptoPP::FilterWithBufferedInput::Put2 (unsigned char const*, unsigned long, int, bool)': sha1.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInput4Put2EPKhmib [CryptoPP::FilterWithBufferedInput::Put2(unsigned char const*, unsigned long, int, bool)]+0x41): undefined reference to `CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(unsigned char*, unsigned long, int, bool, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::FilterWithBufferedInput::PutModifiable2(unsigned char*, unsigned long, int, bool)': sha1.cpp: (.text._ZN8CryptoPP23FilterWithBufferedInput14PutModifiable2EPhmib [CryptoPP::FilterWithBufferedInput::PutModifiable2(unsigned char*, unsigned long, int, bool)]+0x41): undefined reference to `CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(unsigned char*, unsigned long, int, bool, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::Unflushable<CryptoPP::Filter>::Unflushable ()': sha1.cpp:(.text._ZN8CryptoPP11UnflushableINS_6FilterEEC2Ev [CryptoPP::Unflushable<CryptoPP::Filter>::Unflushable()]+0x19): undefined reference to `CryptoPP::Filter::Filter (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: In function `CryptoPP::FilterWithBufferedInput::~FilterWithBufferedInput ()': sha1.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInputD2Ev [CryptoPP::FilterWithBufferedInput::~FilterWithBufferedInput()]+0x16): undefined reference to `vtable for CryptoPP::FilterWithBufferedInput' sha1.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInputD2Ev [CryptoPP::FilterWithBufferedInput::~FilterWithBufferedInput()]+0x22): undefined reference to `vtable for CryptoPP::FilterWithBufferedInput' /tmp/cctxcX1W.o: In function `CryptoPP::ProxyFilter::~ProxyFilter ()': sha1.cpp:(.text._ZN8CryptoPP11ProxyFilterD2Ev [CryptoPP::ProxyFilter::~ProxyFilter()]+0x16): undefined reference to `vtable for CryptoPP::ProxyFilter' sha1.cpp:(.text._ZN8CryptoPP11ProxyFilterD2Ev [CryptoPP::ProxyFilter::~ProxyFilter()]+0x22): undefined reference to `vtable for CryptoPP::ProxyFilter' /tmp/cctxcX1W.o: In function `CryptoPP::SimpleProxyFilter::SimpleProxyFilter (CryptoPP::BufferedTransformation*, CryptoPP::BufferedTransformation*)': sha1.cpp: (.text._ZN8CryptoPP17SimpleProxyFilterC2EPNS_22BufferedTransformationES2_ [CryptoPP::SimpleProxyFilter::SimpleProxyFilter (CryptoPP::BufferedTransformation*, CryptoPP::BufferedTransformation*)] +0x35): undefined reference to `CryptoPP::ProxyFilter::ProxyFilter (CryptoPP::BufferedTransformation*, unsigned long, unsigned long, CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: In function `CryptoPP::Store::~Store ()': sha1.cpp:(.text._ZN8CryptoPP5StoreD2Ev[CryptoPP::Store::~Store()] +0x13): undefined reference to `vtable for CryptoPP::Store' sha1.cpp:(.text._ZN8CryptoPP5StoreD2Ev[CryptoPP::Store::~Store()] +0x1f): undefined reference to `vtable for CryptoPP::Store' /tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters::~AlgorithmParameters ()': sha1.cpp:(.text._ZN8CryptoPP19AlgorithmParametersD1Ev [CryptoPP::AlgorithmParameters::~AlgorithmParameters()]+0x16): undefined reference to `vtable for CryptoPP::AlgorithmParameters' /tmp/cctxcX1W.o: In function `CryptoPP::InputRejecting<CryptoPP::Filter>::InputRejecting ()': sha1.cpp:(.text._ZN8CryptoPP14InputRejectingINS_6FilterEEC2Ev [CryptoPP::InputRejecting<CryptoPP::Filter>::InputRejecting()]+0x19): undefined reference to `CryptoPP::Filter::Filter (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: In function `CryptoPP::Source::Source (CryptoPP::BufferedTransformation*)': sha1.cpp:(.text._ZN8CryptoPP6SourceC2EPNS_22BufferedTransformationE [CryptoPP::Source::Source(CryptoPP::BufferedTransformation*)]+0x26): undefined reference to `vtable for CryptoPP::Source' sha1.cpp:(.text._ZN8CryptoPP6SourceC2EPNS_22BufferedTransformationE [CryptoPP::Source::Source(CryptoPP::BufferedTransformation*)]+0x32): undefined reference to `vtable for CryptoPP::Source' sha1.cpp:(.text._ZN8CryptoPP6SourceC2EPNS_22BufferedTransformationE [CryptoPP::Source::Source(CryptoPP::BufferedTransformation*)]+0x45): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: In function `CryptoPP::Source::~Source ()': sha1.cpp:(.text._ZN8CryptoPP6SourceD2Ev[CryptoPP::Source::~Source()] +0x13): undefined reference to `vtable for CryptoPP::Source' sha1.cpp:(.text._ZN8CryptoPP6SourceD2Ev[CryptoPP::Source::~Source()] +0x1f): undefined reference to `vtable for CryptoPP::Source' /tmp/cctxcX1W.o: In function `CryptoPP::BaseN_Encoder::BaseN_Encoder (CryptoPP::BufferedTransformation*)': sha1.cpp: (.text._ZN8CryptoPP13BaseN_EncoderC1EPNS_22BufferedTransformationE [CryptoPP::BaseN_Encoder::BaseN_Encoder (CryptoPP::BufferedTransformation*)]+0x26): undefined reference to `vtable for CryptoPP::BaseN_Encoder' sha1.cpp: (.text._ZN8CryptoPP13BaseN_EncoderC1EPNS_22BufferedTransformationE [CryptoPP::BaseN_Encoder::BaseN_Encoder (CryptoPP::BufferedTransformation*)]+0x32): undefined reference to `vtable for CryptoPP::BaseN_Encoder' sha1.cpp: (.text._ZN8CryptoPP13BaseN_EncoderC1EPNS_22BufferedTransformationE [CryptoPP::BaseN_Encoder::BaseN_Encoder (CryptoPP::BufferedTransformation*)]+0x5a): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: In function `CryptoPP::Grouper::Grouper (CryptoPP::BufferedTransformation*)': sha1.cpp:(.text._ZN8CryptoPP7GrouperC1EPNS_22BufferedTransformationE [CryptoPP::Grouper::Grouper(CryptoPP::BufferedTransformation*)]+0x26): undefined reference to `vtable for CryptoPP::Grouper' sha1.cpp:(.text._ZN8CryptoPP7GrouperC1EPNS_22BufferedTransformationE [CryptoPP::Grouper::Grouper(CryptoPP::BufferedTransformation*)]+0x32): undefined reference to `vtable for CryptoPP::Grouper' sha1.cpp:(.text._ZN8CryptoPP7GrouperC1EPNS_22BufferedTransformationE [CryptoPP::Grouper::Grouper(CryptoPP::BufferedTransformation*)]+0x6f): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: In function `CryptoPP::HexEncoder::HexEncoder (CryptoPP::BufferedTransformation*, bool, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': sha1.cpp: (.text._ZN8CryptoPP10HexEncoderC1EPNS_22BufferedTransformationEbiRKSsS4_ [CryptoPP::HexEncoder::HexEncoder(CryptoPP::BufferedTransformation*, bool, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0xbf): undefined reference to `vtable for CryptoPP::HexEncoder' sha1.cpp: (.text._ZN8CryptoPP10HexEncoderC1EPNS_22BufferedTransformationEbiRKSsS4_ [CryptoPP::HexEncoder::HexEncoder(CryptoPP::BufferedTransformation*, bool, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0xce): undefined reference to `vtable for CryptoPP::HexEncoder' sha1.cpp: (.text._ZN8CryptoPP10HexEncoderC1EPNS_22BufferedTransformationEbiRKSsS4_ [CryptoPP::HexEncoder::HexEncoder(CryptoPP::BufferedTransformation*, bool, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x1a9): undefined reference to `CryptoPP::HexEncoder::IsolatedInitialize (CryptoPP::NameValuePairs const&)' /tmp/cctxcX1W.o: In function `CryptoPP::FileStore::FileStore ()': sha1.cpp:(.text._ZN8CryptoPP9FileStoreC1Ev [CryptoPP::FileStore::FileStore()]+0x3e): undefined reference to `vtable for CryptoPP::FileStore' sha1.cpp:(.text._ZN8CryptoPP9FileStoreC1Ev [CryptoPP::FileStore::FileStore()]+0x4a): undefined reference to `vtable for CryptoPP::FileStore' /tmp/cctxcX1W.o: In function `CryptoPP::FileStore::~FileStore ()': sha1.cpp:(.text._ZN8CryptoPP9FileStoreD1Ev [CryptoPP::FileStore::~FileStore()]+0x1c): undefined reference to `vtable for CryptoPP::FileStore' sha1.cpp:(.text._ZN8CryptoPP9FileStoreD1Ev [CryptoPP::FileStore::~FileStore()]+0x28): undefined reference to `vtable for CryptoPP::FileStore' /tmp/cctxcX1W.o: In function `CryptoPP::HashTransformation::~HashTransformation ()': sha1.cpp:(.text._ZN8CryptoPP18HashTransformationD2Ev [CryptoPP::HashTransformation::~HashTransformation()]+0x13): undefined reference to `vtable for CryptoPP::HashTransformation' /tmp/cctxcX1W.o: In function `CryptoPP::SecBlock<unsigned char, CryptoPP::AllocatorWithCleanup<unsigned char, false> >::SecBlock (unsigned long)': sha1.cpp: (.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEEC1Em [CryptoPP::SecBlock<unsigned char, CryptoPP::AllocatorWithCleanup<unsigned char, false> >::SecBlock (unsigned long)]+0x30): undefined reference to `CryptoPP::AllocatorWithCleanup<unsigned char, false>::allocate (unsigned long, void const*)' /tmp/cctxcX1W.o: In function `CryptoPP::SecBlock<unsigned char, CryptoPP::AllocatorWithCleanup<unsigned char, false> >::~SecBlock ()': sha1.cpp: (.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEED1Ev [CryptoPP::SecBlock<unsigned char, CryptoPP::AllocatorWithCleanup<unsigned char, false> >::~SecBlock()] +0x27): undefined reference to `CryptoPP::AllocatorWithCleanup<unsigned char, false>::deallocate (void*, unsigned long)' /tmp/cctxcX1W.o: In function `CryptoPP::SecBlock<unsigned char, CryptoPP::AllocatorWithCleanup<unsigned char, false> >::New(unsigned long)': sha1.cpp: (.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEE3NewEm [CryptoPP::SecBlock<unsigned char, CryptoPP::AllocatorWithCleanup<unsigned char, false> >::New(unsigned long)]+0x36): undefined reference to `CryptoPP::AllocatorWithCleanup<unsigned char, false>::reallocate (unsigned char*, unsigned long, unsigned long, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<bool>(char const*, bool const&, bool)': sha1.cpp: (.text._ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b [CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<bool>(char const*, bool const&, bool)]+0x2d): undefined reference to `CryptoPP::AlgorithmParameters::AlgorithmParameters ()' sha1.cpp: (.text._ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b [CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<bool>(char const*, bool const&, bool)]+0x4f): undefined reference to `CryptoPP::AlgorithmParameters::AlgorithmParameters (CryptoPP::AlgorithmParameters const&)' /tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<char const*>(char const*, char const* const&, bool)': sha1.cpp: (.text._ZN8CryptoPP14MakeParametersIPKcEENS_19AlgorithmParametersES2_RKT_b [CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<char const*> (char const*, char const* const&, bool)]+0x2d): undefined reference to `CryptoPP::AlgorithmParameters::AlgorithmParameters ()' sha1.cpp: (.text._ZN8CryptoPP14MakeParametersIPKcEENS_19AlgorithmParametersES2_RKT_b [CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<char const*> (char const*, char const* const&, bool)]+0x4f): undefined reference to `CryptoPP::AlgorithmParameters::AlgorithmParameters (CryptoPP::AlgorithmParameters const&)' /tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator() <CryptoPP::ConstByteArrayParameter>(char const*, CryptoPP::ConstByteArrayParameter const&, bool)': sha1.cpp: (.text._ZN8CryptoPP19AlgorithmParametersclINS_23ConstByteArrayParameterEEERS0_PKcRKT_b [CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator ()<CryptoPP::ConstByteArrayParameter>(char const*, CryptoPP::ConstByteArrayParameter const&, bool)]+0x3e): undefined reference to `CryptoPP::AlgorithmParametersTemplate<CryptoPP::ConstByteArrayParameter>::AlgorithmParametersTemplate (char const*, CryptoPP::ConstByteArrayParameter const&, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator()<int>(char const*, int const&, bool)': sha1.cpp:(.text._ZN8CryptoPP19AlgorithmParametersclIiEERS0_PKcRKT_b [CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator ()<int>(char const*, int const&, bool)]+0x3e): undefined reference to `CryptoPP::AlgorithmParametersTemplate<int>::AlgorithmParametersTemplate (char const*, int const&, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator()<bool>(char const*, bool const&, bool)': sha1.cpp:(.text._ZN8CryptoPP19AlgorithmParametersclIbEERS0_PKcRKT_b [CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator ()<bool>(char const*, bool const&, bool)]+0x3e): undefined reference to `CryptoPP::AlgorithmParametersTemplate<bool>::AlgorithmParametersTemplate (char const*, bool const&, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::HashTransformation::HashTransformation ()': sha1.cpp:(.text._ZN8CryptoPP18HashTransformationC2Ev [CryptoPP::HashTransformation::HashTransformation()]+0x19): undefined reference to `CryptoPP::Algorithm::Algorithm (bool)' sha1.cpp:(.text._ZN8CryptoPP18HashTransformationC2Ev [CryptoPP::HashTransformation::HashTransformation()]+0x24): undefined reference to `vtable for CryptoPP::HashTransformation' /tmp/cctxcX1W.o: In function `CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>::Init ()': sha1.cpp: (.text._ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EE4InitEv [CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>::Init()]+0x20): undefined reference to `CryptoPP::SHA1::InitState(unsigned int*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x78): undefined reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x80): undefined reference to `CryptoPP::Filter::Flush(bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x88): undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x120): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x128): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x168): undefined reference to `CryptoPP::Filter::AttachedTransformation ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x170): undefined reference to `CryptoPP::Filter::AttachedTransformation() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x178): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x188): undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x1e0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for CryptoPP::FileSource]+0x1e8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount () const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x78): undefined reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x80): undefined reference to `CryptoPP::Filter::Flush(bool, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x88): undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable () const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x120): undefined reference to `CryptoPP::Filter::TransferTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x128): undefined reference to `CryptoPP::Filter::CopyRangeTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x168): undefined reference to `CryptoPP::Filter::AttachedTransformation ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x170): undefined reference to `CryptoPP::Filter::AttachedTransformation() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x178): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x188): undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x1e0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x1e8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x78): undefined reference to `CryptoPP::Filter::Initialize (CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x80): undefined reference to `CryptoPP::Filter::Flush(bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x88): undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek (unsigned char&) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek (unsigned char*, unsigned long) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip (unsigned long long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages () const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages (unsigned int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x120): undefined reference to `CryptoPP::Filter::TransferTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x128): undefined reference to `CryptoPP::Filter::CopyRangeTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x168): undefined reference to `CryptoPP::Filter::AttachedTransformation ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x170): undefined reference to `CryptoPP::Filter::AttachedTransformation() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x178): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x188): undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x1c0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE [vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x1c8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x60): undefined reference to `CryptoPP::FilterWithBufferedInput::IsolatedInitialize (CryptoPP::NameValuePairs const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x68): undefined reference to `CryptoPP::ProxyFilter::IsolatedFlush(bool, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x78): undefined reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x80): undefined reference to `CryptoPP::Filter::Flush(bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x88): undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x120): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x128): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x138): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x150): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x168): undefined reference to `CryptoPP::Filter::AttachedTransformation ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x170): undefined reference to `CryptoPP::Filter::AttachedTransformation() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x178): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x188): undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x1c0): undefined reference to `CryptoPP::ProxyFilter::NextPutMultiple(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x1c8): undefined reference to `CryptoPP::ProxyFilter::NextPutModifiable(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x208): undefined reference to `non- virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for CryptoPP::SimpleProxyFilter]+0x210): undefined reference to `non- virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount () const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x78): undefined reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x88): undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable () const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x120): undefined reference to `CryptoPP::Filter::TransferTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x128): undefined reference to `CryptoPP::Filter::CopyRangeTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x138): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x150): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x168): undefined reference to `CryptoPP::Filter::AttachedTransformation ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x170): undefined reference to `CryptoPP::Filter::AttachedTransformation() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x178): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x188): undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x1c8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE [vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x1d0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount () const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x78): undefined reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x80): undefined reference to `CryptoPP::Filter::Flush(bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x88): undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable () const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x120): undefined reference to `CryptoPP::Filter::TransferTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x128): undefined reference to `CryptoPP::Filter::CopyRangeTo2 (CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x138): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x150): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x168): undefined reference to `CryptoPP::Filter::AttachedTransformation ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x170): undefined reference to `CryptoPP::Filter::AttachedTransformation() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x178): undefined reference to `CryptoPP::Filter::Detach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x188): undefined reference to `CryptoPP::Filter::NewDefaultAttachment() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x1c0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE [vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x1c8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for CryptoPP::SHA1]+0x30): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for CryptoPP::SHA1]+0x38): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for CryptoPP::SHA1]+0x48): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Restart ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for CryptoPP::SHA1]+0x88): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for CryptoPP::SHA1]+0x98): undefined reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for CryptoPP::SHA1]+0xc0): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE [vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>]+0x30): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE [vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>]+0x38): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE [vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>]+0x48): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Restart ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE [vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>]+0x88): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE [vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>]+0x98): undefined reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE [vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>]+0xc0): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE [vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1, CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x30): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE [vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1, CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x38): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE [vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1, CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x48): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Restart ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE [vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1, CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x88): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE [vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1, CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x98): undefined reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE [vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1, CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0xc0): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE [vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x30): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE [vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x38): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE [vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x48): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Restart ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE [vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x88): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE [vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x98): undefined reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE [vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0xc0): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE [vtable for CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>]+0x30): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE [vtable for CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>]+0x38): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE [vtable for CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>]+0x48): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Restart ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE [vtable for CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>]+0x88): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE [vtable for CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>]+0x98): undefined reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE [vtable for CryptoPP::IteratedHash<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, CryptoPP::HashTransformation>]+0xc0): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE [vtable for CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>]+0x30): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE [vtable for CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>]+0x38): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE [vtable for CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>]+0x48): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::Restart ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE [vtable for CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>]+0x88): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE [vtable for CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>]+0x98): undefined reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE [vtable for CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>]+0xc0): undefined reference to `CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x78): undefined reference to `CryptoPP::BufferedTransformation::Initialize (CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x80): undefined reference to `CryptoPP::BufferedTransformation::Flush(bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x88): undefined reference to `CryptoPP::BufferedTransformation::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x138): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x150): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x1a8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable for CryptoPP::Bufferless<CryptoPP::Sink>]+0x1b0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x78): undefined reference to `CryptoPP::BufferedTransformation::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x80): undefined reference to `CryptoPP::BufferedTransformation::Flush(bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x88): undefined reference to `CryptoPP::BufferedTransformation::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll()' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x138): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x150): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x1a8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for CryptoPP::Sink]+0x1b0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x78): undefined reference to `CryptoPP::BufferedTransformation::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x80): undefined reference to `CryptoPP::BufferedTransformation::Flush(bool, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x88): undefined reference to `CryptoPP::BufferedTransformation::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get (unsigned char&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get (unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&) const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long) const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip(unsigned long long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll ()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x1a8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE [vtable for CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation> >]+0x1b0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x50): undefined reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x58): undefined reference to `CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x78): undefined reference to `CryptoPP::BufferedTransformation::Initialize(CryptoPP::NameValuePairs const&, int)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x80): undefined reference to `CryptoPP::BufferedTransformation::Flush (bool, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x88): undefined reference to `CryptoPP::BufferedTransformation::MessageSeriesEnd(int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xa0): undefined reference to `CryptoPP::BufferedTransformation::MaxRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xa8): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get (unsigned char&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get (unsigned char*, unsigned long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek (unsigned char&) const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek (unsigned char*, unsigned long) const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip (unsigned long long)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xd8): undefined reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xe0): undefined reference to `CryptoPP::BufferedTransformation::NumberOfMessages() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xe8): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xf0): undefined reference to `CryptoPP::BufferedTransformation::GetNextMessage()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0xf8): undefined reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned int)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x100): undefined reference to `CryptoPP::BufferedTransformation::SkipAll()' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x130): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x140): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2 (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned long, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x148): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x158): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel (std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x180): undefined reference to `CryptoPP::BufferedTransformation::Attach (CryptoPP::BufferedTransformation*)' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x1a8): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const' /tmp/cctxcX1W.o: (.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>] +0x1b0): undefined reference to `non-virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects (CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)' /tmp/cctxcX1W.o: (.rodata._ZTIN8CryptoPP14SourceTemplateINS_9FileStoreEEE[typeinfo for CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x10): undefined reference to `typeinfo for CryptoPP::Source' /tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP14InputRejectingINS_6FilterEEE [typeinfo for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x10): undefined reference to `typeinfo for CryptoPP::Filter' /tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP17SimpleProxyFilterE[typeinfo for CryptoPP::SimpleProxyFilter]+0x10): undefined reference to `typeinfo for CryptoPP::ProxyFilter' /tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP11UnflushableINS_6FilterEEE [typeinfo for CryptoPP::Unflushable<CryptoPP::Filter>]+0x10): undefined reference to `typeinfo for CryptoPP::Filter' /tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP10BufferlessINS_6FilterEEE [typeinfo for CryptoPP::Bufferless<CryptoPP::Filter>]+0x10): undefined reference to `typeinfo for CryptoPP::Filter' /tmp/cctxcX1W.o: (.rodata._ZTIN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE [typeinfo for CryptoPP::IteratedHashBase<unsigned int, CryptoPP::HashTransformation>]+0x10): undefined reference to `typeinfo for CryptoPP::HashTransformation' /tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP4SinkE[typeinfo for CryptoPP::Sink]+0x10): undefined reference to `typeinfo for CryptoPP::BufferedTransformation' /tmp/cctxcX1W.o: (.rodata._ZTIN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE [typeinfo for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]+0x10): undefined reference to `typeinfo for CryptoPP::BufferedTransformation' /tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParametersTemplate<char const*>::AssignValue(char const*, std::type_info const&, void*) const': sha1.cpp: (.text._ZNK8CryptoPP27AlgorithmParametersTemplateIPKcE11AssignValueES2_RKSt9type_infoPv [CryptoPP::AlgorithmParametersTemplate<char const*>::AssignValue(char const*, std::type_info const&, void*) const]+0x1c): undefined reference to `CryptoPP::g_pAssignIntToInteger' sha1.cpp: (.text._ZNK8CryptoPP27AlgorithmParametersTemplateIPKcE11AssignValueES2_RKSt9type_infoPv [CryptoPP::AlgorithmParametersTemplate<char const*>::AssignValue(char const*, std::type_info const&, void*) const]+0x44): undefined reference to `CryptoPP::g_pAssignIntToInteger' /tmp/cctxcX1W.o: In function `CryptoPP::SourceTemplate<CryptoPP::FileStore>::Pump2(unsigned long long&, bool)': sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE5Pump2ERyb [CryptoPP::SourceTemplate<CryptoPP::FileStore>::Pump2(unsigned long long&, bool)]+0x46): undefined reference to `CryptoPP::DEFAULT_CHANNEL' sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE5Pump2ERyb [CryptoPP::SourceTemplate<CryptoPP::FileStore>::Pump2(unsigned long long&, bool)]+0x51): undefined reference to `CryptoPP::FileStore::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpMessages2(unsigned int&, bool)': sha1.cpp: (.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE13PumpMessages2ERjb [CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpMessages2(unsigned int&, bool)]+0x46): undefined reference to `CryptoPP::DEFAULT_CHANNEL' sha1.cpp: (.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE13PumpMessages2ERjb [CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpMessages2(unsigned int&, bool)]+0x51): undefined reference to `CryptoPP::BufferedTransformation::TransferMessagesTo2 (CryptoPP::BufferedTransformation&, unsigned int&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpAll2 (bool)': sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE8PumpAll2Eb [CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpAll2(bool)]+0x3a): undefined reference to `CryptoPP::DEFAULT_CHANNEL' sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE8PumpAll2Eb [CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpAll2(bool)]+0x42): undefined reference to `CryptoPP::BufferedTransformation::TransferAllTo2 (CryptoPP::BufferedTransformation&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' /tmp/cctxcX1W.o: In function `CryptoPP::SourceTemplate<CryptoPP::FileStore>::SourceExhausted() const': sha1.cpp: (.text._ZNK8CryptoPP14SourceTemplateINS_9FileStoreEE15SourceExhaustedEv [CryptoPP::SourceTemplate<CryptoPP::FileStore>::SourceExhausted() const]+0x18): undefined reference to `CryptoPP::BufferedTransformation::AnyRetrievable() const' sha1.cpp: (.text._ZNK8CryptoPP14SourceTemplateINS_9FileStoreEE15SourceExhaustedEv [CryptoPP::SourceTemplate<CryptoPP::FileStore>::SourceExhausted() const]+0x2f): undefined reference to `CryptoPP::BufferedTransformation::AnyMessages() const' /tmp/cctxcX1W.o: In function `CryptoPP::Unflushable<CryptoPP::Filter>::Flush(bool, int, bool)': sha1.cpp:(.text._ZN8CryptoPP11UnflushableINS_6FilterEE5FlushEbib [CryptoPP::Unflushable<CryptoPP::Filter>::Flush(bool, int, bool)] +0x3d): undefined reference to `CryptoPP::DEFAULT_CHANNEL' /tmp/cctxcX1W.o: In function `CryptoPP::HashTransformation::HashTransformation (CryptoPP::HashTransformation const&)': sha1.cpp:(.text._ZN8CryptoPP18HashTransformationC2ERKS0_ [CryptoPP::HashTransformation::HashTransformation (CryptoPP::HashTransformation const&)]+0x2a): undefined reference to `vtable for CryptoPP::HashTransformation' /tmp/cctxcX1W.o: In function `CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>::HashEndianCorrectedBlock(unsigned int const*)': sha1.cpp: (.text._ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EE24HashEndianCorrectedBlockEPKj [CryptoPP::IteratedHashWithStaticTransform<unsigned int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u, CryptoPP::SHA1, 0u, false>::HashEndianCorrectedBlock(unsigned int const*)]+0x2b): undefined reference to `CryptoPP::SHA1::Transform (unsigned int*, unsigned int const*)' collect2: ld returned 1 exit status --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?Caleb Cushing ( xenoterracide ) wrote: > > It seems to have problems linking though... > > g++ -lboost_filesystem -lcryptopp sha1.cpp On Ubuntu 9.04 your program compiles and links using this command line: g++ -lboost_filesystem-mt -lcryptopp sha1.cpp Ubuntu uses Crypto++ 5.5.2 and Boost 1.37.0. Regards, Peter. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?On Sep 15, 12:37 pm, Peter Klotz <peter.kl...@...> wrote: > Caleb Cushing ( xenoterracide ) wrote: > > > > > It seems to have problems linking though... > > > g++ -lboost_filesystem -lcryptopp sha1.cpp > > On Ubuntu 9.04 your program compiles and links using this command line: > > g++ -lboost_filesystem-mt -lcryptopp sha1.cpp > > Ubuntu uses Crypto++ 5.5.2 and Boost 1.37.0. > can anyone validate that my code works with 5.6.0? built with gcc 4.4.1? I'm pretty sure boost isn't the problem since the linker is complaining about crypto++ and I've got code working with just boost 1.39.0. not trying to call bug here. just trying to figure out where my problem is. I did start a discussion about it on the archlinux mailing list. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?Caleb Cushing ( xenoterracide ) wrote: > > > On Sep 15, 12:37 pm, Peter Klotz <peter.kl...@...> wrote: >> Caleb Cushing ( xenoterracide ) wrote: >> >> >> >>> It seems to have problems linking though... >>> g++ -lboost_filesystem -lcryptopp sha1.cpp >> On Ubuntu 9.04 your program compiles and links using this command line: >> >> g++ -lboost_filesystem-mt -lcryptopp sha1.cpp >> >> Ubuntu uses Crypto++ 5.5.2 and Boost 1.37.0. >> > > can anyone validate that my code works with 5.6.0? built with gcc > 4.4.1? I'm pretty sure boost isn't the problem since the linker is > complaining about crypto++ and I've got code working with just boost > 1.39.0. not trying to call bug here. just trying to figure out where > my problem is. I did start a discussion about it on the archlinux > mailing list. Ubuntu 9.10 Alpha uses gcc 4.4.1, Crypto++ 5.6.0 and Boost 1.38.0 so I can assure you that the code compiles and links. Your example also works on Red Hat Enterprise Linux 5.4 using gcc 4.1.2, Crypto++ 5.6.0 and Boost 1.40.0. Regards, Peter. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?Caleb Cushing ( xenoterracide ) wrote: > what I ended up writing... ... > > It seems to have problems linking though... > > g++ -lboost_filesystem -lcryptopp sha1.cpp > > /tmp/cctxcX1W.o: In function `getSha1Hash > (boost::filesystem::basic_path<std::basic_string<char, > std::char_traits<char>, std::allocator<char> >, > boost::filesystem::path_traits> const&, > bool)': > sha1.cpp:(.text+0x5a): undefined reference to > `CryptoPP::StringSinkTemplate<std::basic_string<char, > std::char_traits<char>, std::allocator<char> > >::StringSinkTemplate > (std::basic_string<char, std::char_traits<char>, std::allocator<char> >> &)' Did you check (using nm) that your Crypto++ library actually provides the symbols the linker is complaining about? Maybe on Arch Linux Crypto++ is divided into several libraries and you have to link against more than one? Regards, Peter. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?> Did you check (using nm) that your Crypto++ library actually provides > the symbols the linker is complaining about? I've never used nm before (not heard of it before) so... here's just part of it's output for missing StringSinkTemplate nm /usr/lib/libcryptopp.a |grep StringSinkTemplate nm: algebra.o: no symbols nm: cryptlib_bds.o: no symbols 0000000000000000 W _ZN8CryptoPP18StringSinkTemplateISsE18IsolatedInitializeERKNS_14NameValuePairsE 0000000000000000 W _ZN8CryptoPP18StringSinkTemplateISsE4Put2EPKhmib 0000000000000000 W _ZN8CryptoPP18StringSinkTemplateISsEC1ERSs 0000000000000000 W _ZN8CryptoPP18StringSinkTemplateISsEC2ERSs 0000000000000010 W _ZN8CryptoPP18StringSinkTemplateISsED0Ev 0000000000000010 W _ZN8CryptoPP18StringSinkTemplateISsED1Ev 0000000000000000 V _ZTIN8CryptoPP18StringSinkTemplateISsEE 0000000000000000 V _ZTSN8CryptoPP18StringSinkTemplateISsEE 0000000000000000 V _ZTVN8CryptoPP18StringSinkTemplateISsEE 0000000000000000 W _ZThn8_N8CryptoPP18StringSinkTemplateISsED0Ev 0000000000000000 W _ZThn8_N8CryptoPP18StringSinkTemplateISsED1Ev nm: eccrypto.o: no symbols nm: eprecomp.o: no symbols U _ZTVN8CryptoPP18StringSinkTemplateISsEE nm: pch.o: no symbols nm: simple.o: no symbols nm: strciphr.o: no symbols nm: winpipes.o: no symbols > Maybe on Arch Linux Crypto++ is divided into several libraries and you > have to link against more than one? no. it only provides a single .a --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?Caleb Cushing ( xenoterracide ) wrote: > >> Did you check (using nm) that your Crypto++ library actually provides >> the symbols the linker is complaining about? > > I've never used nm before (not heard of it before) so... here's just > part of it's output for missing StringSinkTemplate Your setup on Arch Linux is more sensitive than Ubuntu and RHEL when it comes to command line library order. I installed Arch Linux in a Virtual Machine and these two commands work for me. g++ -c -o sha1.o sha1.cpp g++ -o sha1 sha1.o -lcryptopp -lboost_filesystem Since sha1.o requires symbols from libcryptopp.a it should appear first on the command line. For some reason not all systems are that strict when it comes to library order. Hope that helps. Regards, Peter. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
|
|
Re: sha1sum example?On Sep 18, 2:14 pm, Peter Klotz <peter.kl...@...> wrote: > Caleb Cushing ( xenoterracide ) wrote: > > > > >> Did you check (using nm) that your Crypto++ library actually provides > >> the symbols the linker is complaining about? > > > I've never used nm before (not heard of it before) so... here's just > > part of it's output for missing StringSinkTemplate > > Your setup on Arch Linux is more sensitive than Ubuntu and RHEL when it > comes to command line library order. > > I installed Arch Linux in a Virtual Machine and these two commands work > for me. > > g++ -c -o sha1.o sha1.cpp > g++ -o sha1 sha1.o -lcryptopp -lboost_filesystem > > Since sha1.o requires symbols from libcryptopp.a it should appear first > on the command line. For some reason not all systems are that strict > when it comes to library order. > > Hope that helps. > if it weren't for you help. I've compiled other ones without issue... just boost or boost and pqcxx I'm not sure why it was different in this matter... --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscribe@.... More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~--- |
| Free embeddable forum powered by Nabble | Forum Help |