В Xcode нам нужно настроить много путей в настройках сборки, тогда мы будем иметь дело с $ (SRCROOT) и $ (PROJECT_DIR), но что разница между ними, вы можете показать мне пример, спасибо большое.
Какая разница между SRCROOT и PROJECT_DIR?
Ответ 1
Заменяемый на практике, в то время как документация делает эти тонкие теоретические различия:
-
SRCROOT
путь к каталогу. Идентифицирует каталог, содержащий исходные файлы целей: содержит путь к файлу project, который определяет цель.
SOURCE_ROOT
- недокументированный псевдонимSRCROOT
-
PROJECT_DIR
Идентифицирует каталог, содержащий проект (.xcodeproj
)$(PROJECT_DIR)/build
используется для создания значения по умолчанию для:- Путь промежуточных файлов сборки
OBJROOT
- Путь к продуктам
SYMROOT
Обычно эти пути не устанавливаются на цель, а устанавливаются для каждого проекта или для каждого пользователя.
- Путь промежуточных файлов сборки
-
PROJECT_FILE_PATH
Определяет сам проект.
Эквивалентно$(PROJECT_DIR)/$(PROJECT_NAME).xcodeproj
Концептуально различный (# 1 - это проект, который определяет target, а # 2 - проект независимо от какой-либо цели), они всегда указывают на одно и то же местоположение, поскольку вы, по сути, всегда создавая цель.
Ссылки
Xcode 8.3 Ссылка на параметры настройки
Руководство по созданию сборки Xcode (Retired 2016-09-29)
Ответ 2
SRCROOT
и PROJECT_DIR
- одни и те же макросы имеют одинаковый эффект. PROJECT_DIR
имеет смысл говорить о фреймворках.
Ответ 3
PROJECT_DIR
: расположение каталога .xcodeproj
.
SRCROOT
: псевдоним для SOURCE_ROOT
SOURCE_ROOT
: расположение исходного кода для этого проекта. Определяет каталог, содержащий целевые исходные файлы.