2009-08-08 6 views
6

Update: Es scheint, dass eine aktuelle XCode Update dieses Makro geändert haben, sehen Sie bitte diese Frage & Antwort für weitere Informationen: Obtaining older SDKROOT behavior in XCodeHeader-Suchpfade in XCode - Ist es möglich, ein Makro oder Variablen so einzustellen, dass sie relativ zur SDK-Version sind?


Situation: Ich bin mit libxml2 auf einem iPhone-Projekt und ich habe es als relativ zur SDK-Version hinzugefügt. Um es jedoch tatsächlich im Projekt verwenden zu können, muss es den Kopfzeilen-Suchpfaden in den Projekteinstellungen hinzugefügt werden.

Ich möchte, dass dies vollständig SDK-Version agnostisch ist, so sollte der Header-Suchpfad auch relativ zur SDK-Version sein, jedoch gibt es keine offensichtliche Möglichkeit, eine Variable zu erweitern, die den SDK-Ordner darstellt.

Zum Beispiel, hier ist der eigentliche wörtliche Pfad:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/libxml2

Ich mag würde zu in der Lage zum Ausdruck bringen

$ MAGICAL_BASE_SDK_VARIABLE/usr/include/libxml2

ist etwas, das mit XCode erreicht werden kann?

Antwort

18

Zahlen, die ich eine Stunde nach dem Kampf herausfinden würde und nur 3 Minuten nach dem Posten.

Das in dieser Situation zu verwendende Makro ist $ {SDKROOT}. Daher müssen Sie lediglich einen Header-Suchpfad wie "$ {SDKROOT}/usr/include/libxml2" hinzufügen, und dieser wird entsprechend aufgelöst.

Beachten Sie, dass der Code noch nicht vollständig funktioniert, aber es ist klar, dass es zumindest den Speicherort der Header-Dateien abfragt.