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.

Reply via email to