我可以构建Armv7+Arm64架构,但不能单独构建Armv7



使用Armv7+Arm64架构构建统一的API应用程序(迁移后)效果良好,该应用程序在iPhone 5和iPhone 6上运行良好。但由于体系结构不兼容,它无法在iPhone 4S上运行。

尝试仅使用Armv7架构构建它失败了。这些是我得到的错误:

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

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

还有6个类似的。。。如何仅在Armv7上编译?

解决方案:由于Oyala绑定linkWith文件中缺少链接标志,Armv7生成失败。在修复标志(LinkerFlags="-lsdc++-lz-lxml2-lresolv")后,Armv7构建完成,没有出现任何错误。

它仍然不能解释为什么Armv7+Arm64(胖身材)没有失败。它只是跳过了Oyala的构建。这可能是Xamarin病毒。

这看起来像是Xamarin.iOS中的一个错误,它没有在fat(armv7+arm64)版本中包含某些库,而那些(有问题的)库会在仅armv7版本中引起问题。

也就是说,我相信通过将-gcc_flags -lxml添加到项目的iOS构建选项中的额外mtouch参数中,构建问题将得到解决。

此外,我建议提交一个错误(http://bugzilla.xamarin.com)胖与瘦的区别。

最新更新