Hyperlink 如何在monotouch中链接项目时修复MT5210错误

Hyperlink 如何在monotouch中链接项目时修复MT5210错误,hyperlink,xamarin.ios,Hyperlink,Xamarin.ios,绑定obj-C静态库时,遇到了一个错误 错误MT5210:本机链接失败,未定义符号:\u ASN1\u INTEGER\u get。请确认所有必要的框架都已被引用,并且本机库已正确链接。(MT5210) 我已经添加了linkflags:但问题仍然存在 (请找到附件-链接下载项目源代码:) 错误MT5210:本机链接失败,未定义符号:\u SSL\u CTX\u加载\u验证\u位置。请确认所有必要的框架都已被引用,并且本机库已正确链接。(MT5210) 错误MT5210:本机链接失败,未定义的符号

绑定obj-C静态库时,遇到了一个错误

错误MT5210:本机链接失败,未定义符号:\u ASN1\u INTEGER\u get。请确认所有必要的框架都已被引用,并且本机库已正确链接。(MT5210)

我已经添加了linkflags:但问题仍然存在

(请找到附件-链接下载项目源代码:)

错误MT5210:本机链接失败,未定义符号:\u SSL\u CTX\u加载\u验证\u位置。请确认所有必要的框架都已被引用,并且本机库已正确链接。(MT5210)

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

错误MT5210:本机链接失败,未定义的符号:_sk_num。请验证是否已引用所有必需的框架,并且本机库已正确链接到中。(MT5210)

“_SSL_CTX_free”,引用自: _libEaseMobClientSDKLite.a(ssl_sock_ossl.o)中的init_openssl _在libEaseMobClientSDKLite.a(ssl_sock_ossl.o)中重置ssl_sock_状态 _在libEaseMobClientSDKLite.a(ssl_sock_ossl.o)中创建ssl “\u SSL\u CTX\u加载\u验证\u位置”,引用自: _在libEaseMobClientSDKLite.a(ssl_sock_ossl.o)中创建ssl

我添加了linkflags:

[assembly:LinkWith(“libEaseMobClientSDKLite.a”,LinkTarget.ArmV7 | LinkTarget.ArmV7s | LinkTarget.Simulator,ForceLoad=true, 框架=“系统配置QuastCype OpenGLS安全CORETEXT IMAIGIO MAPKITE CONCELANCE MPLICE EngReServices地址簿CNF网络UIKIT基金会社会核心图形” LinkerFlags=“-lz-lxml2-liconv-lresolv-lstdc++” )]

下面的屏幕快照是可以通过XCode成功构建的ObjC项目。 问题

这些符号看起来像来自OpenSSL(libssl),而这不是您显示的
[LinkWith]
属性的一部分。您也不能将它添加到可以链接的动态库的
LinkerFlags=
列表中

解决方案

  • 您可能缺少另一个静态
    。项目的
    库;或

  • libEaseMobClientSDKLite。您使用的
    是错误编译的(通常包括openssl对象文件)


如果您有EaseMobClientSDKLite的ObjC示例,那么您可以查看Xcode构建日志(链接步骤),以查看构建中引用了什么(以及如何引用)openssl。

我上传了上面的屏幕快照,这是可以由Xcode成功构建的ObjC项目。