I am having an issue when trying to use the Crypto++ Library on an iOS
device. I do have the Crypto++ library bundled inside of another Library,
called libA.a, but I have tested this with other Libraries and it is
possible to do this. I did check if I get this error when just referencing
the Crypto++ library and not having it bundled inside another library and
get the same errors. Below are the errors I am getting:
Undefined symbols for architecture arm64:
"typeinfo for unsigned char", referenced from:
bool CryptoPP::NameValuePairs::GetValue<unsigned char>(char const*,
unsigned char&) const in libA.a(basecode.o)
"std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::assign(char const*, unsigned long)",
referenced from:
CryptoPP::BERDecodeTextString(CryptoPP::BufferedTransformation&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >&, unsigned char) in libA.a(asn.o)
"vtable for __cxxabiv1::__enum_type_info", referenced from:
typeinfo for CryptoPP::BlockPaddingSchemeDef::BlockPaddingScheme in
libA.a(filters.o)
typeinfo for CryptoPP::Integer::RandomNumberType in libA.a(nbtheory.o)
NOTE: a missing vtable usually means the first non-inline virtual member
function has no definition.
"std::__1::basic_istream<char, std::__1::char_traits<char>
>::sentry::sentry(std::__1::basic_istream<char, std::__1::char_traits<char>
>&, bool)", referenced from:
std::__1::basic_istream<char, std::__1::char_traits<char> >&
std::__1::ws<char, std::__1::char_traits<char>
>(std::__1::basic_istream<char, std::__1::char_traits<char> >&) in
libA.a(integer.o)
"std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()",
referenced from:
CryptoPP::StreamTransformation::Seek(unsigned long) in
libA.a(ECBBlowfish.o)
CryptoPP::NullAllocator<unsigned int>::allocate(unsigned long, void
const*) in libA.a(ECBBlowfish.o)
std::__1::basic_ostringstream<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::~basic_ostringstream() in libA.a(ECBBlowfish.o)
CryptoPP::FixedSizeAllocatorWithCleanup<unsigned int, 18ul,
CryptoPP::NullAllocator<unsigned int>, false>::deallocate(void*, unsigned
long) in libA.a(ECBBlowfish.o)
CryptoPP::NullAllocator<unsigned int>::deallocate(void*, unsigned
long) in libA.a(ECBBlowfish.o)
CryptoPP::FixedSizeAllocatorWithCleanup<unsigned int, 1024ul,
CryptoPP::NullAllocator<unsigned int>, false>::deallocate(void*, unsigned
long) in libA.a(ECBBlowfish.o)
CryptoPP::SecBlock<unsigned int,
CryptoPP::FixedSizeAllocatorWithCleanup<unsigned int, 18ul,
CryptoPP::NullAllocator<unsigned int>, false>
>::SecBlock(CryptoPP::SecBlock<unsigned int,
CryptoPP::FixedSizeAllocatorWithCleanup<unsigned int, 18ul,
CryptoPP::NullAllocator<unsigned int>, false> > const&) in
libA.a(ECBBlowfish.o)
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Showing first 200 notices only
I have done a lipo -info on my library and it does contain the arm64
architecture. Any idea's on what could be causing this? Appreciate the
help.
Patrick
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.