Domanda

In Xcode, posso modificare le macro del mio preprocessore nelle impostazioni del progetto. Voglio creare una macro che si riferisce a una variabile di ambiente. Fondamentalmente, voglio essere in grado di fare riferimento a $ SRC_ROOT nel mio codice. Quello che ho attualmente nelle mie macro è:

SRC_ROOT=${SRC_ROOT}

ma non funziona.

È stato utile?

Soluzione

Nelle impostazioni di compilazione di Xcode, in realtà non ti riferisci a un valore della variabile di ambiente. Invece, ti riferisci a un valore build setting . La sintassi per questo è il $ (SETTING_NAME) in stile Makefile piuttosto che il $ {SETTING_NAME} in stile shell che hai usato sopra.

Quindi quello che vuoi fare è aggiungere

SRC_ROOT="$(SRCROOT)"

all'impostazione di creazione Macro del preprocessore .

Come bonus aggiuntivo, se sai che le tue macro non influenzeranno il contenuto del tuo file prefisso precompilato, invece di Macro preprocessore dovresti usare Macro preprocessore non utilizzate nelle intestazioni precompilate invece.

In questo modo è possibile migliorare la condivisione dell'intestazione del prefisso precompilato (definita da un file pch ) tra obiettivi diversi nel progetto o persino progetti diversi. Nota tecnica 2190: Accelerare i tuoi Xcode Builds approfondisce questo aspetto: se si utilizzano lo stesso nome file e lo stesso prefisso e si creano utilizzando le stesse impostazioni di build, su più progetti, è possibile ottenere notevoli miglioramenti nelle prestazioni della build poiché Xcode riconoscerà quando può riutilizzare esistenti file prefisso precompilati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top