2011-08-24 8 views
5

Quando uso $(BUILT_PRODUCTS_DIR) a User Header Search Path (come consigliato in this tutorial su librerie statiche) XCode 4 risolve in questo modo:

enter image description here

Questo è un problema durante Lavoro con il simulatore, perché i file di build sono archiviati in Debug-iphonesimulator anziché in Debug-iphoneos e XCode non riesce a trovare le intestazioni.

La mia soluzione corrente è la prima build per il dispositivo iOS e quindi il lavoro con il simulatore. Questo è un po 'noioso e soggetto a errori. Che cosa sto facendo di sbagliato?

risposta

6

La directory dei prodotti build deve essere utilizzata per l'output da Xcode ed è perfettamente ragionevole che tali directory non esistano al momento della creazione. Non è consigliabile avere dipendenze come le intestazioni degli utenti in queste directory.

La mia raccomandazione sarebbe quella di spostare le intestazioni dipendenti dalla directory di cui si sta parlando.

+0

Quindi, come si consiglia di utilizzare i file di intestazione di libreria statici di progetti nello stesso spazio di lavoro? – hpique

+0

Non va bene fino a quando si aggiunge la destinazione dell'altro progetto come dipendenza diretta? –

+0

Per _headers_ Li lascerei così come sono nel loro progetto e li riferimento direttamente da lì - questo rimuoverà il requisito che si costruisce una libreria dipendente prima di poter compilare qualsiasi cosa nell'applicazione client che potrebbe usarla. Se volessi, potresti dividere quelle intestazioni "pubbliche" v. Quelle che sono "private" nelle loro directory, e la tua applicazione cercherebbe solo le intestazioni nella cartella pubblica. – fbrereto

1

Ho avuto lo stesso problema. L'ho risolto facendo quanto segue. Invece di impostare i Percorsi di ricerca intestazione utente su $(BUILT_PRODUCTS_DIR)ricorsivo, l'ho impostato esplicitamente su $(BUILT_PRODUCTS_DIR)/usr/local/includenon ricorsivo.

+0

Che cosa fa esattamente questo? Quando lo uso, non troverà nessuna delle altre cose della libreria. Ma se uso semplicemente '$ {BUILT_PRODUCTS_DIR}', mi imbatto in problemi usando un file internamente ed esternamente. –

Problemi correlati