-ObjCリンカーフラグは何をしますか?


136

リンカーフラグの有無にかかわらず動作するアプリがあります。ただし、リンカフラグがないと、ビューにデータを追加するときの動作が大きく異なります。


1
bensarz、リンカーフラグなしで別の動作が発生します...どういう意味ですか?どう違う?
Adil Hussain 2017年

回答:


158

このフラグにより​​、リンカーは、Objective-Cクラスまたはカテゴリーを定義するライブラリー内のすべてのオブジェクトファイルをロードします。このオプションは通常、(アプリケーションに追加のオブジェクトコードが読み込まれるため)実行可能ファイルが大きくなりますが、既存のクラスのカテゴリを含む効果的なObjective-C静的ライブラリを正常に作成できます。

このテクニカルQ&Aから


2
すごい!ありがとうございました。これは、GCC 4.2をコンパイラとして使用していることが原因ですか?LLVM GCC 4.2またはLLVM Compiler 2.0を使用すると問題が解決しますか?それとも混ぜてはいけないものを混ぜているのですか?
ブサラジン2011

動作は両方のコンパイラで同じだと思います(さらに、2つの異なるリンカーがあるかどうかはわかりません)...
sergio

4
これ-ObjCは、ライブラリ/ SDK以外には何も必要がないことを意味しますか?つまり、実際のアプリターゲットで使用する必要はありませんか?
ロバート

2
いいえ、これは、カテゴリまたは組み込みフレームワークが組み込まれたライブラリを実装するすべてのプロジェクトで-ObjCが必要であることを意味します
arc4randall

これを難しい方法で見つけました!
Alexandre G
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.