-all_load リンカーフラグは何をしますか? 質問する

-all_load リンカーフラグは何をしますか? 質問する

-all_loadObjective-C コードをコンパイルするときにフラグが何を行うのかがどこにも見つかりません。

Apple にバイナリをアップロードする際に問題が発生しました。このフラグを使用していないためだと言われています。ただし、このフラグがなくてもコードはコンパイルされます。

誰かこれを手伝ってくれませんか?

ベストアンサー1

おそらくこの技術ノートに関連していると思われるhttps://developer.apple.com/library/content/qa/qa1490/_index.html

重要: 64 ビットおよび iPhone OS アプリケーションの場合、リンカーのバグにより、-ObjC はカテゴリのみを含みクラスを含まない静的ライブラリからオブジェクト ファイルをロードできません。回避策は、-all_load または -force_load フラグを使用することです。-all_load は、リンカーが認識するすべてのアーカイブからすべてのオブジェクト ファイルをロードするように強制します。これには Objective-C コードがないものも含まれます。-force_load は Xcode 3.2 以降で使用できます。これにより、アーカイブのロードをより細かく制御できます。各 -force_load オプションの後にアーカイブへのパスを続ける必要があり、そのアーカイブ内のすべてのオブジェクト ファイルがロードされます。

おすすめ記事