Макросы препроцессора игнорируются в настройках проекта XCode, но не в целевых настройках - PullRequest
4 голосов
/ 25 августа 2011

Когда я добавляю макрос препроцессора в XCode 4 к одной из моих целей, он используется, и условная компиляция происходит так, как я ожидаю.

Однако, если я перенесу этот параметр на уровень проекта и выйду из негоодной из моих целей макрос препроцессора, по-видимому, игнорируется и вообще не используется.

Я проверил, что макрос определен вообще, если я добавлю его в настройку сборки проекта посредством ведения журнала, который компилируется только тогда, когдамакрос включен.

Как это может быть?

Система: OS X Lion, XCode 4.1 build 4B110, сборка для iOS 4.3.5, с использованием компилятора LLVM, а не GCC.

1 Ответ

5 голосов
/ 25 августа 2011

Вы полностью удалили настройку сборки на целевом уровне (а не просто отключили ее)? Если нет, целевой параметр полностью переопределит проектный. (Вы можете избежать этого, используя $(inherited) в настройке целевого уровня сборки.)

Xcode 4 позволяет легко увидеть этот тип проблемы: в представлении цели в настройках сборки выберите «Уровни» (вместо «Комбинированные») на панели фильтров.

...