Xcode 4: Projekt nie honoruje $ (dziedziczonego) Build Build w Workspace?

Dzisiaj jest mój dzień cierpienia dzięki kodowi Xcode 4, obszarom roboczym i projektom.

mamobszar roboczy z kilkoma bibliotekami open source (openssl, sqlcipher i kilkoma innymi). W obszarze roboczym znajduje się jeden „Główny”projekt który tworzy EXE jako cel. Projekty open source to „podprojekty” lub „projekty podrzędne” do projektu „Główny”. Wygląda podobnie do poniższego:

Main Project
  +- OpenSSL Project
  +- SqlCipher Project
  ...

W projekcie „Główny” w obszarze „Projekt” (a nie „Cel”) ustawiam flagi preprocesora i ostrzeżeniaustawienia kompilacji. Na przykład makra preprocesora debugowania to „DEBUG = 1 SQLITE_DEBUG = 1 SQLITE_HAS_CODEC = 1” (bez cudzysłowów). I odwrotnie, makra preprocesora zwalniania są ustawione na „NDEBUG = 1 NS_BLOCK_ASSERTIONS = 1 SQLITE_HAS_CODEC = 1”.

W Main „Target” (nie „Project”) i wszystkich podprojektach (zarówno „Project”, jak i „Targets”) upewniam się, że nie ma żadnych nadpisań ustawień budowania specyficznych dla projektu (przez podświetlenie „Preprocessor Macros” i naciśnięcie COMMAND + DELETE) . Następnie upewniam się, że pole jest ustawione na „$ (dziedziczone)” (bez cudzysłowów).

I oto, projekty dziecięce nie honorują „$ (odziedziczonego)”. Kiedy patrzę na wiersz poleceń wydany przez Xcode, nic nie jest obecne, które powinno być obecne w GCC_PREPROCESSOR_DEFINITIONS. Na przykład pliki projektu SqlCipher nie są kompilowane z odziedziczonymi ustawieniami kompilacji z Main.

Myślałem, że problem może być podobny do tegoPreprocesor Makra ignorowane w ustawieniach projektu XCode, ale nie w ustawieniach docelowych, ale nie wydaje mi się, aby uzyskać te same [pozytywne] wyniki.

Czy ktoś mógłby mi wytłumaczyć, jak uhonorować projekty dziecięce „$ (odziedziczone)”? Gdy próbuję czytać dokumentację Apple, jestem bardziej zdezorientowany tym, co czytam i zachowaniem, które obserwuję. Proszę wyjaśnij to tak, jakbyś rozmawiał z dzieckiem.

questionAnswers(1)

yourAnswerToTheQuestion