2013-03-11 12 views
34

Che cos'è l'impostazione del percorso di ricerca $(inherited)?

Ho modificato l'intestazione e le impostazioni del percorso di ricerca della libreria relative a OpenSSL per iPad e questo problema insieme all'opzione ricorsiva per il percorso specificato è stato il principale colpevole.

Quando ho riorganizzato i miei percorsi di ricerca per esaminare prima le directory e quindi in $(inherited), le build di iPad funzionavano.

risposta

31

Sto cercando anche una documentazione. Ma ho fatto l'esperienza, che $(inherited) può essere utilizzato per ereditare le impostazioni di costruzione dal livello del progetto al livello di destinazione. Quando si definiscono percorsi di ricerca libreria o intestazione a livello di progetto, è possibile utilizzare $(inherited) nelle impostazioni di generazione di destinazione per utilizzare questi percorsi di ricerca nei percorsi di ricerca dei target di progetto.

+0

Penso che questo è in realtà $ (ereditato), non $ (Eredita). – Dave

4

APPENDICE: con $(inherited)Corporatura Impostazioni-> Biblioteca Percorso di ricerca viene automaticamente quando si aggiunge una libreria per un obiettivo facendo clic nel riquadro di destra di destinazione appartenenza. Questo non succede diversamente.

+0

Non ho trovato questo il caso, almeno non da Xcode 7. Ho $ (ereditato) impostato sia nel progetto che nel target (li ho provati anche singolarmente), quindi ho aggiunto un framework personalizzato al mio specifico obiettivo ma non è stato aggiunto ai percorsi di ricerca. Mi manca un passaggio? – MarqueIV

+1

Difficile stare al passo con gli aggiornamenti Xcode ... potrebbe essere stato cambiato. –

21

Se si va a Target impostazioni di generazione, e passare alla visualizzazione livello

Alt text

Si può vedere il flusso di inherited da destra a sinistra

Resolved <- Target <- xcconfig <- Project <- iOS Default 

Quindi, in inherited nei mezzi di destinazione che Target eredita le impostazioni da xcconfig e Project

+0

Dove/che cos'è xcconfig? – Ricardo

1

Esempio e di Sovrascrivere le variabili di impostazione di build impostate a livello di progetto o di destinazione riassegnando il valore di tale variabile in un file xcconfig.

// Variable set in the project file, previous level 
OTHER_LDFLAGS = -ObjC 

// lib.xcconfig 
OTHER_LDFLAGS = -framework Security 

^Quando si compila con questo, il valore precedente di OTHER_LDFLAGS -ObjC sta per essere sovrascritto dal nuovo valore -framework Security.

Esempio di ereditarietà delle variabili di impostazione impostate a livello di progetto o di destinazione aggiungendo il valore precedente di tale variabile in un file xcconfig. Pensa a $(inherited) come variabile speciale che può essere utilizzata per ottenere il valore esistente di una variabile in modo che l'assegnazione alla stessa variabile non sia distruttiva.

// Variable set in the project file, previous level 
OTHER_LDFLAGS = -ObjC 

// lib.xcconfig 
OTHER_LDFLAGS = $(inherited) -framework Security 

^Quando si compila con questo, il valore di OTHER_LDFLAGS sta per essere -ObjC -framework Security.

Esempio trovato alla https://pewpewthespells.com/blog/xcconfig_guide.html

Problemi correlati