9

私は、いくつかの紛らわしい属性を持つプロジェクトに取り組むことを任されています。

このプロジェクトは、同じコンパイル設定で iPhone シミュレーターと iPhone デバイス用にコンパイルされないという性質のものです。ターゲット プラットフォームに応じて、x86 または arm6/7 用に特別にコンパイルする必要があることに関係していると思います。

そのため、プロジェクトのビルド設定を Xcode の [ビルド設定] ビューで表示すると、特定のファイルごとに特定のコンパイラ フラグを設定できません。ただし、このプロジェクトに取り組んでいた以前の開発者は、どういうわけか次の行を宣言しています。

CE7FEB5710F09234004DE356 /* MyFile.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7FEB5510F09234004DE356 /* MyFile.m */; settings = {COMPILER_FLAGS = "-fasm-blocks -marm -mfpu=neon"; }; };

プロジェクトファイルを手動で編集せずにこれを行う方法はありますか? プロジェクト ファイルを編集すると完全に壊れてしまう可能性があることはわかっているので、前の開発者ほどよく知らないので、編集したくありません。

明確にするために、質問は次のとおりです。

-fasm-blocksフラグを削除しない限り、シミュレーターのコンパイル時にビルドが失敗します。-fasm-blocksフラグを追加しない限り、デバイスのコンパイル時にビルドが失敗します。プロジェクト ファイルを手動で編集せずに、ファイルごとにこのフラグを設定する方法はありますか?

4

3 に答える 3

9

Joshua Nozzi によるこのブログ投稿では、Xcode 4 でこれを行う方法について説明しています。

... Project Navigator でプロジェクトを選択し、関連するターゲット (1 つしかない場合もあります) を選択してから、[Build Phases] タブを選択します。Compile Sources フェーズと viola を展開します。Compiler Flags 列では、そのターゲットの各ファイルのフラグを設定できます。

于 2012-10-10T14:11:26.460 に答える
7

次のように、個々のソース ファイルに追加のコンパイラ フラグを定義できます。

  • 最初にビルドするターゲットを選択します
  • ソースファイルを右クリック
  • 「情報を見る」を選択
  • 「ビルド」タブをクリックします
  • 追加のコンパイラ フラグを定義する

ただし、ターゲットを複製し、実際のデバイス用とシミュレータ用の 2 つのターゲットを用意するだけで、より良い解決策のように思えます。プロジェクト レベルから共通のビルド設定を継承し、必要に応じてターゲットごとのビルド設定を微調整します。

于 2010-05-04T11:20:18.127 に答える
2

特定のファイルに対して GetInfo を呼び出すと、このファイルのビルド設定を設定できます。これについては、XCode プロジェクト管理ガイドも参照してください。

于 2010-05-04T11:20:51.820 に答える