Xcode — $(SRCROOT)とは何ですか?


115

一部のライブラリを使用するXcodeプロジェクトを探しています。プロジェクトは別のコンピューターで作成されたため、いくつかのパスを更新する必要があります。ライブラリ検索パスはすべてで始まり$(SRCROOT)ます。どういう意味ですか?


回答:


147

これは、Xcodeプロジェクトを含むディレクトリへのパスです。


奇妙なことに、ビルド設定でパスを表示すると、それらはすべて/ Users / stevewで始まります。ダブルクリックしてその設定の詳細ビューを取得すると、代わりにすべて$(SRCRoot)で始まります。しかし、私のコンピュータには/ Users / stevewディレクトリがありません。それで、どういうわけか他のコンピュータの場所にロックされましたか?
ウィリアムジョクシュ

おそらく誰かが絶対パスを使用してSRCROOTを定義しました-これは通常、プロジェクトのすべてのソースの便利なルートディレクトリですが、開発マシンが1つしかない場合を除いて、絶対パスであってはなりません。
ポールR

あなたの答えに加えて、それはローカルXcodeProjectのディレクトリなので、プロジェクトの下にMailCoreがある場合、MailCoreのSRCROOTはMailCoreプロジェクトを開くディレクトリです。XCodeには、プロジェクト設定画面を右にスクロールできないというこのユーザビリティの問題があるため、長いパスを使用している場合、これを区別することはできません。したがって、長いlib名を持つ人のために、この回答に追加します。主な答えをmipadiに感謝します。
スティーブンJ

30
どうPROJECT_DIRですか?との違いはSRCROOT何ですか?
Gon

コメントで質問しないでください。Stack Overflowの質問36323031を参照してください。
SwiftArchitect 2017年

20

2
Xcodeヘルプドキュメントはバージョンベースになりました。Xcode 8.3ビルド設定リファレンスのリンクを更新しました。
SwiftArchitect 2017年

3

$(SRCROOT)(別名$(SOURCE_ROOT))は、場所へのパスです。.xcodeprojです。

チェックは簡単で、フィールドに置くだけで、Xcodeがヒントを提供します

ここに画像の説明を入力してください

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