我正在编写一个包装,该包装使用P / Invoke绑定(bind)到iOS SDK,因为Sharpie无法为该SDK生成可编译的代码。

当使用引用的包装器项目编译iOS App时,我遇到了许多这样的链接问题:



从iOS项目传递的额外的单声道触摸参数如下所述:



该SDK由三个库组成:libcrypto.a,libssl.a和libsipwrapper.a。

在Internet上有许多文章/帖子之后,建议添加添加标准库,例如-lstdc++,lz和ObjC,但这似乎不适用于我的情况。

我还尝试创建一个包含三个库和包装程序代码的绑定(bind)项目,添加到linkwith文件中的内容看起来像这样:



问题没有解决,我仍然遇到描述的链接错误。

最佳答案

经过两天的浪费时间,我终于明白了,很明显,猜测要传递的参数,正确地链接仅由您自己构建的层库并不清楚。为了简化任务,我已经编译了SDK提供程序提供的演示应用程序,并使用Xcode编译了演示,并获取了Xcode发送给clang++的参数。这帮助我弄清楚了要发送给monotouch的参数:



希望这对其他人有帮助。

(检查下面@NyxSway描述的两点也很重要)

关于c++ - Xamarin iOS绑定(bind)上的 native 链接错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37681318/

10-11 23:59
查看更多