使用Armv7 + Arm64架构构建统一的API应用程序(迁移后)工作正常,该应用程序在iPhone 5和iPhone 6上运行良好但由于架构不兼容而无法在iPhone 4S上运行。
尝试仅使用Armv7架构构建它失败了。 这些是我得到的错误:
错误MT5210:本机链接失败,未定义符号:_res_9_init。请验证是否已引用所有必需的框架,并且已正确链接本机库。(MT5210)
错误MT5210:本机链接失败,未定义符号:_xmlDocGetRootElement。请验证是否已引用所有必需的框架,并且已正确链接本机库。(MT5210)
另外还有6个...... 我怎么能只在Armv7上编译呢?
答案 0 :(得分:1)
解决方案: 由于Oyala绑定linkWith文件中缺少链接标志,Armv7构建失败。 修复标志后(LinkerFlags =“ - lstdc ++ -lz -lxml2 -lresolv”),Armv7构建完成后没有错误。
它仍然无法解释为什么Armv7 + Arm64(脂肪构建)没有失败。 它只是跳过了Oyala构建。 这可能是一个Xamarin错误。
答案 1 :(得分:0)
这看起来像是Xamarin.iOS中的一个错误,它不包括fat(armv7 + arm64)构建中的某些库,而那些(有问题的)库在armv7-only构建中导致问题。
那就是说,我相信通过将-gcc_flags -lxml
添加到项目的iOS Build选项中的其他mtouch参数中,可以解决构建问题。
此外,我建议填写一个错误(http://bugzilla.xamarin.com),以了解fat和thin版本之间的差异。