使用Armv7 + Arm64架构构建统一的API应用(迁移后)运行良好,在iPhone 5和iPhone 6上运行良好。但由于架构不兼容,无法在iPhone 4S上运行。
尝试仅使用Armv7架构构建它失败了。以下是我得到的错误:
错误MT5210:本机链接失败,未定义的符号:_res_9_init。请验证是否引用了所有必需的框架,并且正确链接了本地库。(MT5210)
错误MT5210:本机链接失败,未定义的符号:_xmlDocGetRootElement。请验证是否引用了所有必需的框架,并且正确链接了本地库。(MT5210)
还有6个这样的.我怎样才能只在Armv7上编译?
发布于 2015-02-09 23:38:32
解决方案:由于Oyala绑定linkWith文件中缺少链接标志,Armv7构建失败。修复标志(LinkerFlags="-lstdc++ -lz -lxml2 -lresolv")后,Armv7构建完成,没有任何错误。
它仍然不能解释为什么Armv7+Arm64 (胖构建)没有失败。它只是跳过了Oyala的构建。这可能是一个Xamarin错误。
发布于 2015-02-09 20:37:23
这看起来像是Xamarin.iOS中的一个错误,它没有在fat (armv7+arm64)构建中包含某些库,而那些(有问题的)库在仅限ARMv7的构建中会导致问题。
也就是说,我相信通过将-gcc_flags -lxml
添加到项目的iOS构建选项中的额外mtouch参数中,构建问题将得到解决。
此外,我建议为胖构建与瘦构建之间的差异提交一个错误(http://bugzilla.xamarin.com)。
https://stackoverflow.com/questions/28395683
复制相似问题