peculiar failed references in binding project

MicahHooverMicahHoover USMember ✭✭
edited August 2016 in General

I can successfully build a binding project, and I can see all the required functions/messages I need access to in intellisense.

But as soon as I add the least reference (just a implicit reference to an enum), I get a bunch of unresolved references.

Most of the undefined symbols appear to be low level references into the ObjectiveC API. For example, NSString is something baked into ObjectiveC and it's the first native link failure. I can't see any of them in the static library I built with "nm".

Is there some kind of header or library I left out?

Here is the build output:

/Users/horizonperformance/Projects/PCLPKardLibTest/iOS/PCLPKardLibTest.iOS.csproj (Build) ->
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets (_CompileToNative target) ->

MTOUCH: error MT5214: Native linking failed, undefined symbol: _NSString. This symbol was referenced by the managed member PKardBinding.Constants.NSString. Please verify that all the necessary frameworks have been referenced and native libraries linked.
MTOUCH: error MT5214: Native linking failed, undefined symbol: _PKardSDK_ValidationTestMode. This symbol was referenced by the managed member PKardBinding.CFunctions.PKardSDK_ValidationTestMode. Please verify that all the necessary frameworks have been referenced and native libraries linked.
MTOUCH: error MT5210: Native linking failed, undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
MTOUCH: error MT5210: Native linking failed, undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string(). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
MTOUCH: error MT5210: Native linking failed, undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
MTOUCH: error MT5210: Native linking failed, undefined symbol: std::terminate(). Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
MTOUCH: error MT5210: Native linking failed, undefined symbol: typeinfo for int. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
MTOUCH: error MT5210: Native linking failed, undefined symbol: typeinfo for unsigned int. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
MTOUCH: error MT5210: Native linking failed, undefined symbol: vtable for __cxxabiv1::__class_type_info. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
MTOUCH: error MT5209: Native linking error: "vtable for __cxxabiv1::__si_class_type_info", referenced from:
MTOUCH: error MT5209: Native linking error: typeinfo for PCSC::PCSC_Cache in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: typeinfo for PCSC::PCSC_Context in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: typeinfo for PCSC::PCSC_CardHandle in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: typeinfo for PKI::TokenInterface in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: typeinfo for PKI::Token in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: typeinfo for PKard::NamedProperty in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: typeinfo for PKard::PKCS11::Session in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: ...
MTOUCH: error MT5209: Native linking error: NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
MTOUCH: error MT5209: Native linking error: "vtable for __cxxabiv1::__vmi_class_type_info", referenced from:
MTOUCH: error MT5209: Native linking error: typeinfo for PKI::TokenDevice in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
MTOUCH: error MT5209: Native linking error: "operator delete(void*)", referenced from:
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Cache::~PCSC_Cache() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::~PCSC_Context() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::allocate_memory(unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::list_reader_groups(char*, unsigned int*) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_CardHandle::~PCSC_CardHandle() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKI::Token::~Token() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKI::TokenInterface::~TokenInterface() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: ...
MTOUCH: error MT5209: Native linking error: "operator new(unsigned long)", referenced from:
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::allocate_memory(unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::list_reader_groups(char*, unsigned int*) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::NamedProperty::NamedProperty(char const*, PKard::Buffer&) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::NamedProperty::Value() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::NamedProperty::Set(PKard::Buffer&) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Properties::SetProperty(char const*, PKard::Buffer&) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: "___cxa_allocate_exception", referenced from:
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Cache::PCSC_Cache(UUID*, unsigned int, char*, unsigned char*, unsigned int) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(PKard::Buffer&) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(unsigned char const*, unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(char const*) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::operator=(PKard::Buffer const&) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::copyIn(void const*, unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: ...
MTOUCH: error MT5209: Native linking error: "___cxa_begin_catch", referenced from:
MTOUCH: error MT5209: Native linking error: ___clang_call_terminate in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: "___cxa_free_exception", referenced from:
MTOUCH: error MT5209: Native linking error: PKard::PKCS11::Slot::Slot(PKard::PKCS11::Library*) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::PKCS11::Slot::Slot(PKard::PKCS11::Library*, unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: "___cxa_pure_virtual", referenced from:
MTOUCH: error MT5209: Native linking error: vtable for PCSC::PCSC_CardHandle in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: vtable for PKI::TokenInterface in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: vtable for PKI::Token in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: vtable for PKard::PKCS11::Slot in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: vtable for PKard::PKCS11::Library in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: vtable for PKard::PKCS11::Session in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: "___cxa_throw", referenced from:
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Cache::PCSC_Cache(UUID*, unsigned int, char*, unsigned char*, unsigned int) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(PKard::Buffer&) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(unsigned char const*, unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::Buffer(char const*) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::operator=(PKard::Buffer const&) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PKard::Buffer::copyIn(void const*, unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: ...
MTOUCH: error MT5209: Native linking error: "___gxx_personality_v0", referenced from:
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Cache::PCSC_Cache(UUID*, unsigned int, char*, unsigned char*, unsigned int) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Cache::~PCSC_Cache() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::PCSC_Context(unsigned int, int) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::~PCSC_Context() in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::allocate_memory(unsigned long) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_Context::list_reader_groups(char*, unsigned int*) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: PCSC::PCSC_CardHandle::PCSC_CardHandle(PCSC::PCSC_Context*, unsigned int, unsigned int) in PKardSDK(PKardSDK)
MTOUCH: error MT5209: Native linking error: ...
MTOUCH: error MT5202: Native linking failed. Please review the build log.

 0 Warning(s)
 78 Error(s)

Answers

Sign In or Register to comment.