xamarin中的本地链接错误

时间:2014-01-08 17:31:24

标签: ios xamarin.ios xamarin

我今天尝试编译我的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添加到解决方案中作为绑定项目

5 个答案:

答案 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();