Kartik Kartik - 4 months ago 96
iOS Question

Native Linking errors in xamarin

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

Answer

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.