Xamarinのネイティブリンクエラー
-
20-12-2019 - |
質問
私は今日私の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をバインディングプロジェクトとしてソリューションに追加しました
解決
それはXamarinのバグです-> ここを見てください。 プロジェクトをビルドできるようにするには、追加のmtouch引数"--gcc_flags-load_all"から削除する必要があります。
更新
@Kartik, ここに についてのドキュメントを見つけることができます mtouch
.
--gcc_flags
を意味します。 :
Finalをリンクするgcc呼び出しに直接いくつかのフラグを追加します バイナリ。これは、別の静的コードから静的コードをリンクするために使用できます ライブラリファイル(libXXX.a)。Darwinリンカは、そのコードを削除します 直接参照されていない、すべてを保持するために-ObjCを追加します objective-cセグメントまたは -all_load すべての静的ライブラリを保持する。
他のヒント
xamarin.formsでは、私のために私のコードに問題がありました。PCLでJava.Lang.Thread.Sleep(1000)
を使用していました。COMPILING ON IOSでエラーを発生させていました。これは、IOSの互換性のあるコードではありませんでした。
これを解決する方法:Google Cloud Messagingをアンインストールし、FireBase Cloud Messagingと交換し、すべての作品を今大丈夫です。
References
フォルダではなく、参照ファイルをNative References
フォルダに設定してください。