4

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

在此处输入图像描述

绑定项目构建良好并按预期生成输出 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”,引用自:
_oopenssl_with_type in IdentosSDK(ssl_identity.o) ) "_PENDING_REGISTRATION",引用自:
IdentosSDK(id_start_state.o) 中的_to_initialized_state

在最终失败之前

MTOUCH:错误 MT5210:本机链接失败,未定义符号:_IOS_DERIVED_CREDENTIALS。请确认所有必要的框架都已被引用并且本机库已正确链接。 MTOUCH:错误 MT5210:本机链接失败,未定义符号:_OPENSSL_DERIVED_CREDENTIALS。请确认所有必要的框架都已被引用,并且本地库已正确链接。

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

在此处输入图像描述

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

不知道还能做些什么来解决这个问题。任何帮助将不胜感激。完整的构建日志

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.
4

0 回答 0