2011-12-01 13 views
18

Ci sono tre diversi percorsi di ricerca in Parametri di compilazione XCode:iOS: chiarire diversi percorsi di ricerca

  • quadro Percorso di ricerca
  • intestazione Percorso di ricerca
  • Biblioteca Percorso di ricerca

Qualcuno potrebbe chiarire cosa fanno quei percorsi e per cosa sono usati?

risposta

20

Percorso di ricerca quadro: dove cercare i pacchetti frameworks (.framework) oltre ai percorsi dei framework di sistema. Non utilizzato molto nello sviluppo iOS, ufficialmente non ci sono framework iOS per sviluppatori.

In Mac, lo sviluppo viene impostato automaticamente se si trascina un framework di terze parti nel progetto. Altrimenti, basta impostarlo nella directory del contenitore in cui è stato salvato il framework.

In xcconfig file si utilizza questa variabile:

FRAMEWORK_SEARCH_PATHS = "/path/to/frameworks/container/directory" 

Header percorso di ricerca: dove cercare i file di intestazione (.h file), oltre a percorsi di sistema. Di solito ne avrai bisogno se stai usando una libreria di terze parti. Impostalo sulla directory in cui hai i file di intestazione. Se si utilizza una directory per includere l'intestazione (esempio: #import "mylibrary/component.h"), impostarla sulla directory padre.

In xcconfig file si utilizza questa variabile:

HEADER_SEARCH_PATHS = "/path/to/headers/container/directory" 

Biblioteca percorso di ricerca: dove cercare i file di libreria, oltre a percorsi di sistema. Xcode lo imposterà automaticamente se trascini una libreria (file .a) nel progetto. Per impostarlo manualmente, utilizzare la directory in cui si trova la libreria.

In xcconfig file si utilizza questa variabile:

LIBRARY_SEARCH_PATHS = "/path/to/libraries/container/directory" 

Tutti e tre possono contenere un elenco di percorsi, con le citazioni, separati da uno spazio.

0

Questi sono utilizzati per la ricerca di quadri, file di intestazione o librerie che non si trovano nei percorsi di ricerca del sistema (come QTKit.Framework, file di intestazione standard C++, ecc.).

L'utilizzo più comune per questo è l'utilizzo dei file della libreria di intestazione boost (* .hpp) nel mio codice. Aggiungo il percorso relativo "../lib/Boost/1.46.1" al percorso di ricerca dell'intestazione.

Trovo che sia meglio aggiungerlo a livello di progetto anziché in ciascun target. In questo modo i bersagli ereditano questo e deve solo essere cambiato in un posto se aggiorno la versione di boost.

Problemi correlati