Native Linking errors in xamarin

谁说胖子不能爱 提交于 2021-02-07 06:48:43

问题


I am try to compile my xamarin project today and suddenly i am getting these errors:

error MT5210: Native linking failed, undefined symbol: _mono_handle_global_vregs. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
error MT5210: Native linking failed, undefined symbol: _mono_inst_name. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
error MT5210: Native linking failed, undefined symbol: _mono_local_deadce. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
error MT5210: Native linking failed, undefined symbol: _mono_print_code. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
error MT5210: Native linking failed, undefined symbol: _mono_type_to_regmove. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
error MT5210: Native linking failed, undefined symbol: _type_to_eval_stack_type. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
error MT5202: Native linking failed. Please review the build log.

Can any one point me in any direction why these could be happening?

I have a Firebase iOS sdk added to the solution as binding project


回答1:


It is Xamarin bug -> Watch here. You should remove from additional mtouch arguments "--gcc_flags -load_all" to be able to build the project.

Update

@Kartik, Here you can find documentation about mtouch.

--gcc_flags means :

Add a number of flags directly to the gcc invocation linking the final binary. This can be used to link static code from another static library file (libXXX.a).The darwin linker will remove any code that it does not see directly referenced, add -ObjC to preserve all objective-c segments or -all_load to preserve all static libraries.




回答2:


How i solved this: I had to uninstall Google Cloud Messaging and replaced it with Firebase Cloud Messaging and all works fine now.




回答3:


In Xamarin.Forms, for me it was issue in my code. I was using Java.Lang.Thread.Sleep(1000) in PCL. Which on compiling was generating error on iOS which definitely was not a compatible code for iOS.




回答4:


Make sure that you set your reference file within the References folder, not Native References folder.




回答5:


I had the same issue when try to use Firebase.iOS.Analytics it's because the package depends on (firebase.ios.core and firebase.ios.core i fixed it by adding in AppDelegate:

 Firebase.InstanceID.Loader.ForceLoad();


来源:https://stackoverflow.com/questions/21002550/native-linking-errors-in-xamarin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!