我今天尝试编译我的xamarin项目,突然间我遇到了这些错误:
错误MT5210:本机链接失败,未定义符号: _mono_handle_global_vregs。请验证是否已引用所有必需的框架并且本机库是否正确 链接。
错误MT5210:本机链接失败,未定义的符号: _mono_inst_name。请验证是否已引用所有必需的框架,并且本机库已正确链接 错误 MT5210:本机链接失败,未定义的符号:_mono_local_deadce。 请验证是否已引用所有必需的框架 和本地图书馆正确链接 错误MT5210:原生 链接失败的,未定义的符号:_mono_print_code。请验证一下 所有必要的框架都已被引用和本机库 正确地联系在一起 错误MT5210:本机链接失败,未定义 符号:_mono_type_to_regmove。请验证所有必要的 框架已被引用,本机库正确 链接。
错误MT5210:本机链接失败,未定义的符号: _type_to_eval_stack_type。请验证是否已引用所有必需的框架并且本机库是否正确 链接。
错误MT5202:本机链接失败。请查看 建立日志。
任何人都可以向我指出为什么会发生这些事情?
我将Firebase iOS sdk添加到解决方案中作为绑定项目
答案 0 :(得分:1)
是Xamarin bug - > Watch here. 您应该从其他mtouch参数“--gcc_flags -load_all”中删除,以便能够构建项目。
<强>更新强>
@Kartik,Here您可以找到有关mtouch
。
--gcc_flags
表示:
直接向链接最终的gcc调用添加一些标志 二进制文件。这可以用于链接来自另一个静态的静态代码 库文件(libXXX.a).darwin链接器将删除它的任何代码 看不到直接引用,添加-ObjC来保存所有 objective-c段或 -all_load 以保留所有静态库。
答案 1 :(得分:1)
在Xamarin.Forms中,对我来说这是我的代码中的问题。我在PCL中使用Java.Lang.Thread.Sleep(1000)
。在编译时哪个在iOS上产生错误,这肯定不是iOS的兼容代码。
答案 2 :(得分:1)
我是如何解决这个问题的:我不得不卸载Google Cloud Messaging并将其替换为Firebase Cloud Messaging,现在一切正常。
答案 3 :(得分:0)
确保将参考文件设置在{=IF(ISERROR(INDEX($A$1:$B$8,SMALL(IF($A$1:$A$8=$I$5,ROW($A$1:$A$8)),
ROW(1:1)),2)),"",INDEX($A$1:$B$8,SMALL(IF($A$1:$A$8=$I$5,ROW($A$1:$A$8)),
ROW(1:1)),2))}
文件夹中,而不是References
文件夹中。
答案 4 :(得分:0)
尝试使用Firebase.iOS.Analytics时遇到相同的问题 这是因为软件包依赖于(firebase.ios.core和firebase.ios.core 我通过添加AppDelegate来修复它:
Firebase.InstanceID.Loader.ForceLoad();