2017-06-14 7 views
1

私はXamarinで作業していて、iPadにiOSアプリケーションをインストールしようとしています。ネイティブリンクエラーが、標準フレーム(MT5209)を使用していないため、コンパクトなアンワインドを作成できませんでした。

私はAda静的ライブラリをリンクしたいと考えています。

私はlibMyLibrary.a + libgnat.aファイルとCヘッダーコード(MyLibrary.h)を持っています。

  • Xamarinでは、私はバインディングライブラリプロジェクトを作成し、私のライブラリを追加しました。
  • Xamarinでは、上記のプロジェクトをiPadアプリのリファレンスとして追加しました。

    [assembly: LinkWith(“libMyLibrary.a”, SmartLink=true, ForceLoad=true)] 
    [assembly: LinkWith(“libgnat.a”, SmartLink=true, ForceLoad=true)] 
    

    しかし、ときに私:私はDllImport(“__Internal”)、私のlibのためのアセンブリ(ので、私はどんなのmTouch引数を持たない)とP /呼び出しを使用するライブラリとの通信に

私はネイティブのリンクエラーの多くを持ってiPadにそれをデプロイします

Native linking error: warning: could not create compact unwind for XXX does not use standard frame (MT5209) 

私はMonoTouchでの引数が、ノー成功を使用しようとしました:

任意のアイデアを参照してください?


構成:

  • のiOS 10.3.2
  • Xamarin 6.3
  • 10.3
+0

...初めてで、それを正しく追加しませんでした。コメントのより役に立つ部分については、静的なAdaライブラリが正しいアーキテクチャ(iOS ARMアーキテクチャ)のためにコンパイルされていることを確認しましたか?おそらくObjCにリンクして、それがまったく動作することを確認してください。 – flyx

+0

こんにちは、質問は正当なものであり、はい:私は正しいターゲットのためにコンパイルされたAdaライブラリを持っていますが、libインターフェイスはC互換です(安全な選択だと思います)。実際には、私はこれのための解決策を見つけた、私は答えを投稿するためには数分が必要です。 – LoneWanderer

答えて

2

数日間これで周りに苦労した後は、私たちが思いついたデプロイメント・ターゲット何か働いている。

次のように我々はMonoTouchでに与えてくれた正確なディレクティブは以下のとおりです。libMylibrarryは二度参照されlibMyLibrary.a

  • ブヨのlibファイルを脇に置くされ

    • :という

      -gcc_flags "-L${ProjectDir} -lMyLibrary -lgnat -force_load ${ProjectDir}/libMyLibrary.a -Wl,-no_compact_unwind" 
      

      お知らせコマンド

    さらに...voilà!

    Apprently、私は、静的なエイダlibににリンクしながら、iOS用のC#コードをコンパイルの問題を賞賛

  • 関連する問題