Intestazione percorsi di ricerca in XCode - E 'possibile impostare una macro o variabili in modo che siano relative alla versione SDK?
-
12-09-2019 - |
Domanda
Aggiornamento: Sembra che un recente aggiornamento XCode potrebbe essere cambiato questa macro, consulta questo domanda & risposta per ulteriori informazioni: ottenere più vecchio comportamento sDKROOT in XCode
Situazione: sto usando libxml2 su un progetto iPhone e ho aggiunto come relativo alla versione SDK. Tuttavia, al fine di utilizzare effettivamente nel progetto, deve essere aggiunto all'intestazione percorsi di ricerca nelle impostazioni del progetto.
Vorrei che questo per essere la versione del tutto SDK agnostico, in modo che il percorso di ricerca di intestazione dovrebbe anche essere relative alla versione SDK, ma non c'è modo evidente per fare espandere una variabile che rappresenta la cartella SDK.
Per esempio, ecco il percorso effettivo letterale:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/libxml2
Mi piacerebbe essere in grado di esprimere
$ MAGICAL_BASE_SDK_VARIABLE / usr / include / libxml2
E 'questo qualcosa che può essere realizzato utilizzando XCode?
Soluzione
Le figure che mi piacerebbe capirlo un'ora dopo aver combattuto e solo 3 minuti dopo la sua pubblicazione.
La macro da utilizzare in questa situazione è $ {} SDKROOT. Quindi, tutto quello che bisogna fare è aggiungere un'intestazione percorso di ricerca come: "$ {} SDKROOT / usr / include / libxml2", e si risolverà in modo appropriato.
Si noti che il codice non è ancora completamente funzionante, ma è chiaro che si tratta di almeno raccogliendo la posizione dei file di intestazione.