13

iOS用の静的フレームワークをarmv7ios6アプリケーションに対してリンクしていますが、元のバイナリはXCode 3.xからのものであり、GCCでコンパイルされていると思われます。現在、CLangコンパイラを使用してリンクしています。フレームワークのソースコードはありません。バイナリのみです。

(null): warning: (armv7) /.../DerivedData/.../armv7/HardwareObjectFile.o unable to open object file

上記のような69の警告が表示されます。静的フレームワークにリンクされている.oファイルごとに1つです。

この警告は何らかの理由で深刻ですか?ライブラリ内のバイナリファイルが「/Users/ somedeveloperthatisntme」にパスをハードコーディングしていることを示すように見える巨大なパスを簡略化しました。このパスは、このライブラリを使用していないコンピュータで使用しているため、ほとんど役に立ちませんが、存在しません。 「Users/somedeveloperthatisntme」という名前のフォルダーがあります。

Dsymutilは、「アーカイブされたDWARFデバッグシンボルファイルを操作する」ためのツールのようですが、Appleからの完全なドキュメントにも関わらず、それが何であるか、何をするのかについては正確にはわかりません。それは何をしているのですか、そしてこの警告は私にとって何を意味しますか?これをクリアするには、ベンダーからの新しいライブラリ/静的フレームワークが必要だと思いますか?

更新:これを解決することはできません。原因は、サードパーティベンダーからモバイルフレームワークの一部として出荷された、非常に古いバージョンのXCODEによってコンパイルされた非常に古いバイナリにあるようです。この場合の問題は、そのベンダーにライブラリを再構築させることで解決されます。警告が私を狂わせたので、私が彼らに依頼したことですが、彼らはそれを行うことができないようです。結局、私は彼らの技術を捨てて、それを何か他のものと取り替えました。(グリン)

4

5 に答える 5

15

これらのエラーは、使用しているアーキテクチャと参照しているリソースに関係しています。理由はわかりませんが、削除する場合は、[ビルド設定]、[ビルドオプション]の順に移動し、[デバッグ情報の形式]を選択して[DWARF]を選択します。

于 2013-09-02T21:42:19.830 に答える
14

私はこれの反対側にいて、他の人が使用できるようにライブラリをビルドしています。ビルド設定で「GCC_GENERATE_DEBUGGING_SYMBOLS = NO」を設定してライブラリプロジェクトを変更し、出力フレームワーク。

これは問題の解決策ではありませんが、このベンダーと連絡を取っている場合は、これを渡すことができます。

于 2013-01-27T17:09:07.997 に答える
4

他の回答には役立つ情報が含まれていますが、実際の回答を簡潔に説明したいと思います。

これを修正することはできず、エラーの意味は単純です。現在のリンカは、これらのライブラリファイルを開くことができない要素を含んでいると見なします。

警告を解決するには、ベンダーに連絡して、新しいバージョンのCLANGで再構築された再コンパイルされたライブラリを入手してください。

于 2014-08-14T17:28:41.403 に答える
3

/ Library / Developer / Xcode / DerivedDataフォルダーを削除するだけで、すべてが修正されました。

于 2015-04-09T15:44:35.317 に答える
1

これらの警告が発生する可能性があるもう1つの理由は、プロジェクトのリリースビルドのシンボルストリッピング設定が正しくないためです。フレームワークの作成者に連絡し、適切なシンボルストリッピング設定で新しいバイナリを作成するように伝えます。

于 2014-08-26T15:04:04.147 に答える