问题
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