1. ホーム
  2. ios

SRCROOTとPROJECT_DIRの違いは何ですか?

2023-09-11 08:56:56

質問

Xcodeでは、多くのパスを設定する必要があります。 ビルド設定 を処理し、次に $(SRCROOT) (PROJECT_DIR) しかし、それらの間の違いは何ですか、あなたは私に例を示すことができます、Thxはたくさん。

どのように解決するには?

実際には交換可能ですが、ドキュメントではこれらの微妙な理論的区別がなされています。

  1. SRCROOT

    ディレクトリのパス。が含まれるディレクトリを特定します。 ターゲットの のソースファイルへのパスを含みます。 プロジェクト を定義するファイルへのパスを含みます。 ターゲット .

    SOURCE_ROOT の文書化されていないエイリアスです。 SRCROOT

  2. PROJECT_DIR

    が含まれるディレクトリを特定する。 プロジェクト ( .xcodeproj )

    $(PROJECT_DIR)/build は、デフォルト値の作成として使用されます。

    • 中間ビルドファイルのパス OBJROOT
    • ビルドプロダクトのパス SYMROOT
    <ブロッククオート

    通常、これらのパスはターゲットごとに設定されるのではなく、プロジェクトごとまたはユーザーごとに設定されます。

  3. PROJECT_FILE_PATH

    プロジェクトそのものを識別します。

    に相当します。 $(PROJECT_DIR)/$(PROJECT_NAME).xcodeproj

概念的に異なる(#1 は、(1) を定義するプロジェクトについてです。 ターゲット であるのに対し、#2 はプロジェクト 独自に であるのに対し)、本質的に常にターゲットを構築しているため、これらは常に同じ場所を指しています。

リファレンス

Xcode 8.3 ビルド設定 リファレンス

Xcode ビルドシステムガイド (2016-09-29にリタイア)