本机绑定项目因MTOUCH而失败:错误MT5210:本机链接失败,未定义符号

时间:2018-01-23 16:09:39

标签: xamarin xamarin.ios xamarin-binding

使用Objective sharpie我为内部Objective C库创建了一个绑定项目,绑定项目包括三个ios框架源

enter image description here

绑定项目构建正常并按预期生成输出dll,使用iLSpy检查输出dll确认本机引用包含在dll中。创建了一个演示应用程序来测试绑定,问题是我无法让演示应用程序编译,它失败了

  

架构x86_64的未定义符号:
  " _IOS_DERIVED_CREDENTIALS",引自:_IOS_STORAGE in   IdentosSDK(ios_storage.o)" _OPENSSL_DERIVED_CREDENTIALS",   引自:_OPENSSL_STORAGE in   IdentosSDK(openssl_storage.o)" _OPENSSL_EC",引自:   IdentosSDK中的_create_key_with_type(openssl_storage_identity.o)​​" _PENDING_REGISTRATION",引自:   IdentosSDK中的_to_initialized_state(id_start_state.o)

在最终失败之前

  

MTOUCH:错误MT5210:本机链接失败,未定义符号:   _IOS_DERIVED_CREDENTIALS。请验证是否已引用所有必需的框架并且本机库是否正确   链接.MTOUCH:错误MT5210:本机链接失败,未定义   符号:_OPENSSL_DERIVED_CREDENTIALS。请验证所有   已经引用了必要的框架,本机库也是如此   正确地联系在一起。

我试过传递传递给mtouch的gcc_flags,如下所示

enter image description here

我知道绑定项目中的框架支持适当的体系结构,因为运行lipo -info libIdentosSDK.a会产生:armv7 i386 x86_64 arm64

不知道还有什么可以解决这个问题。任何帮助将不胜感激。完整的build log

 MTOUCH : error MT5210: Native linking failed, undefined symbol: _IOS_DERIVED_CREDENTIALS. 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: _OPENSSL_DERIVED_CREDENTIALS. 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: _OPENSSL_EC. 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: _PENDING_REGISTRATION. 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: _add_events. 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: _asym_decrypt. 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: _asym_encrypt. 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: _asym_free. 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: _asym_sign. 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: _asym_verify. 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: _cleanup_events. 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: _create_event. 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: _create_event_bool. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.

0 个答案:

没有答案