Макросы препроцессора Xcode - PullRequest
       11

Макросы препроцессора Xcode

3 голосов
/ 28 октября 2008

В Xcode я могу редактировать свои макросы препроцессора в настройках проекта. Я хочу создать макрос, который ссылается на переменную среды. По сути, я хочу иметь возможность ссылаться на $ SRC_ROOT в моем коде. То, что у меня сейчас есть в моих макросах:

SRC_ROOT=${SRC_ROOT}

но это не работает.

1 Ответ

20 голосов
/ 29 октября 2008

В настройках сборки XCode вы фактически не ссылаетесь на значение переменной окружения. Вместо этого вы ссылаетесь на значение сборки . Синтаксис для этого - стиль Makefile $(SETTING_NAME), а не стиль оболочки ${SETTING_NAME}, который вы использовали выше.

Итак, что вы хотите сделать, это добавить

SRC_ROOT="$(SRCROOT)"

в Макросы препроцессора Настройка сборки.

В качестве дополнительного бонуса, если вы знаете, что ваши макросы не будут влиять на содержимое файла с прекомпилированным префиксом, вместо Макросы препроцессора вам следует использовать Макросы препроцессора, не используемые в скомпилированных заголовках вместо.

Таким образом, вы можете улучшить совместное использование заголовка прекомпилированного префикса (определенного в файле pch) между различными целями в вашем проекте или даже разными проектами. Техническое примечание 2190: Ускорение сборок Xcode более подробно описывает это: если вы используете одно и то же префиксное имя файла и его содержимое и строите с использованием одних и тех же настроек сборки в нескольких проектах, вы можете получить существенные улучшения в производительности сборки, потому что XCode распознает, когда он может повторно использовать существующие предварительно скомпилированные файлы префиксов.

...