2012-01-13 12 views
24

sto integrando l'applicazione twitter nella mia applicazione la mia applicazione è creata in xcode 4.2 usando ARC quando ho implementato il codice per twitter from this code. ha funzionato perfettamente quando ho appena scaricato il progetto & eseguirlo. Quando integro questo codice SDK Twitter Nella mia applicazione basata xcode 4.2 mi ha dato errore di 'libxml/xmlreader.h' file not found ho risolto semplicemente modificando file di intestazione in questo modo #include <libxml2/libxml/xmlreader.h> ma dopo aver cambiato questo errore precedente è stato risolto, ma che ho ottenuto nuovo errore 'libxml/xmlversion.h' file not found. Ho provato a cambiare l'intestazione del file xmlreader.h ma questo file non è modificabile ho anche cambiato le autorizzazioni per questo file. ma non ha funzionato. nel formato come questo #include <libxml2/libxml/xmlreader.h> ma non funziona.'libxml/xmlversion.h' file non trovato in xcode 4.2?

prego di dirmi come risolvere questo errore.

i have seen several question in stack overflow for some that kind of question

, ma non ha funzionato per me in Xcode 4.2. per favore guidami.

+0

ho pensato che fosse un errore ARC quindi ho disabilitato anche ARC che provato ma non ha funzionato. un'altra domanda qualche volta la mia applicazione riceve avvertimenti di memoria in forma abilitata di ARC anche così che cosa dovrei fare? –

+0

re problemi ARC che è un problema separato e dovrebbe essere una domanda separata – Mark

+0

Che cosa è stato utilizzato per CompileC? – Mark

risposta

27

funziona per me. Ricordarsi di aggiungere la libreria nella sezione Collega binario en Build Phases del progetto di destinazione. pic2 pic1

+2

ho provato in questo modo ma non ho ottenuto il risultato. ho lo stesso errore come ho fatto una domanda. –

+0

@Dennso - Due volte mi hai salvato. Vorrei poter triplicare i tuoi punti. – Patricia

+0

Avevo bisogno di aggiungere i percorsi di ricerca dell'intestazione. –

27

è necessario mettere tutte le intestazioni libxml sul percorso di inclusione. Per Xcode fare questo con l'aggiunta di /usr/include/libxml2 ai percorsi di intestazione (che passerà -I/usr/include/libxml2 al compilatore C)

Questo è nella scheda impostazioni di generazione in percorsi di ricerca -> intestazione dei percorsi di ricerca

enter image description here

+0

thnx tizio, ma ho già leggi questa risposta nello stack overflow e ho anche provato in questo modo ma non ha funzionato per me. un po 'come questo '#include' –

+0

Questo non funzionerà in quanto non otterrà tutti i file. Quale risposta hai trovato? – Mark

+2

thnks per le tue informazioni sull'immagine, ma ho già provato in questo modo, ma mi dà lo stesso errore come ho fatto la domanda. –

3

Ho avuto lo stesso problema di te. Per me il problema era che ho impostato "Percorso di ricerca intestazione" in Impostazioni di creazione progetto, ma le mie impostazioni di creazione target hanno prevalso su questa impostazione. Ho risolto questo problema aggiungendo la riga $ (ereditata) ai percorsi di ricerca dell'intestazione delle impostazioni di creazione dei target.

0

Add ricerca intestazione percorso da $ (SDKROOT)/usr/include/libxml2

25

Vai al progetto -> Crea Impostazioni e cercare il tasto "User Header Percorsi di ricerca" e aggiungere questo valore:

" $ {} SDK_DIR "/ usr/include/libxml2

funziona perfettamente a mio Xcode 4.5 + iOS 6

+2

Grazie, Funziona anche per me :) – Deepak

+1

Questo è anche meglio delle altre soluzioni perché utilizza correttamente i file di inclusione nell'SDK di Xcode, piuttosto che le intestazioni di sistema. –

+0

Grazie ha funzionato anche per me !! – Krishna

0

assicurarsi di utilizzare l'opzione non ricorsiva quando si aggiunge il tasto" Header percorsi di ricerca."

/usr/include/libxml2 - Questa è l'opzione non recurisve

/usr/include/libxml2\** - Questa è l'opzione ricorsiva e VOLONTÀ

2

Se stai usando CocoaPods e ottenere questo errore, dovrete forcella le specifiche e le seguenti linee ad esso:

s.libraries = 'xml2' 
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' } 

dovrete rimuovere il Pod, quindi reinstallare esso pure, con il podspec che puntano al tuo forcella il motivo per cui si deve sborsare il Pod. è perché l'obiettivo in cui si sarebbe norma questa modifica viene generata da CocoaPods quando si esegue l'installazione pod.

Si noti che se si dispone di altre librerie da cui dipende il pod, includerle nella riga s.libraries.

Source for this fix in the CocoaPods issue "Pod Integration Issues"

0

In XCode 5:

  1. Add "$ {} SDK_DIR"/usr/include/libxml2 per l'intestazione percorsi di ricerca
  2. Aggiungi libxml2.dylib in fasi di creazione
Problemi correlati