В настройках сборки XCode вы фактически не ссылаетесь на значение переменной окружения. Вместо этого вы ссылаетесь на значение сборки . Синтаксис для этого - стиль Makefile $(SETTING_NAME)
, а не стиль оболочки ${SETTING_NAME}
, который вы использовали выше.
Итак, что вы хотите сделать, это добавить
SRC_ROOT="$(SRCROOT)"
в Макросы препроцессора Настройка сборки.
В качестве дополнительного бонуса, если вы знаете, что ваши макросы не будут влиять на содержимое файла с прекомпилированным префиксом, вместо Макросы препроцессора вам следует использовать Макросы препроцессора, не используемые в скомпилированных заголовках вместо.
Таким образом, вы можете улучшить совместное использование заголовка прекомпилированного префикса (определенного в файле pch
) между различными целями в вашем проекте или даже разными проектами. Техническое примечание 2190: Ускорение сборок Xcode более подробно описывает это: если вы используете одно и то же префиксное имя файла и его содержимое и строите с использованием одних и тех же настроек сборки в нескольких проектах, вы можете получить существенные улучшения в производительности сборки, потому что XCode распознает, когда он может повторно использовать существующие предварительно скомпилированные файлы префиксов.