自動参照カウントを使用するコンパイラ プロジェクトを移植しています。しばらく前に Xcode でプロジェクトをセットアップしましたが、ARC を使用せずに Xcode 4.6 で引き続きビルドおよび実行できます。現在、その大部分を ARC に移植しましたが、Bison と Flex によって生成された Objective-C ファイルでは ARC を無効にする必要があることがわかりました。
(特定の理由はYYSTYPE
、id
私のプロジェクトの ARC 以前のバージョンだったからです。私はそれを宣言することができ__unsafe_unretained id
、それはコンパイルされますが、ARC でコンパイルされたコードは、私の古い非 - ARC コードは実行したため、実行時にクラッシュします。)
ただし、生成されたファイルの ARC を無効にする方法がわかりません。通常のプロセスでは、--fno_objc_arc
[ビルド フェーズ] タブで特定の Objective-C ファイルにオプションを追加します。そのオプションを Flex と Bison のソース ファイルに追加しようとすると、Flex/Bison がオプションを認識できないため、ビルドが失敗します。
生成されたファイルは、変数が指す DerivedSources ディレクトリにありDERIVED_FILE_DIR
ます。ただし、それらは Xcode Project Navigator または Build Phases タブには表示されません。デバッグ ビルドとリリース ビルドではパスが異なるため、プロジェクトに追加できません。だから私はそれらに適用する方法がわかりません--fno_objc_arc
。
Xcode で Flex/Bison 派生ソースのファイルごとのビルド オプションを設定するためのヒントはありますか?