2011-05-30 12 views
14

Actualmente tengo algunos errores con libxml2 en mi proyecto de iPhone. Esto estaba funcionando antes, después de realizar algunos cambios en la creación de propiedades de construcción fallidas. (Libxml2.dylib se añade en las fases de construcción)iPhone libxml2 no encontrado durante la compilación

#import <libxml/tree.h> 
#import <libxml/parser.h> 
#import <libxml/xmlstring.h> 
#import <libxml/xpath.h> 
#import <libxml/xpathInternals.h> 

He añadido los siguientes elementos para la configuración Complexión:

Other Linker Flags: -lxml2 
Header Search Paths: /usr/include/libxml2 

He tratado de añadirlos al proyecto y objetivos (por lo al mismo tiempo, y cambiando entre ellos) sin ninguna diferencia.

También probé añadiendo lo siguiente en el Camino de cabecera Buscar:

${SDKROOT} 
${SDK_DIR} 

Ambos sin resultado.

Edificio falla por: dispositivo iPhone iPhone y iPad emulador

Alguien tiene una idea?

Estoy usando la biblioteca cliente GData Objective-C: http://code.google.com/p/gdata-objectivec-client/ Estoy compilando los archivos fuente directamente en mi proyecto y seguí todos los pasos que se dan en la wiki. Cuando se importan manualmente los encabezados de libxml, XCode sugiere lo siguiente:

#import <libxml2/libxml/tree.h> 

Lo que tampoco funciona.

+0

De acuerdo, revertí el archivo de proyecto a un estado anterior y solucionó mis problemas. Revisé las propiedades de compilación, que son las mismas que antes de la reversión. No estoy seguro de qué salió mal, pero la aplicación se ejecuta nuevamente. – Enadeag

Respuesta

12

Agregue ${SDKROOT}/usr/include/libxml2 como ruta de búsqueda de encabezado en lugar de solo ${SDKROOT}.

Tenga en cuenta que todos los objetivos de compilación que necesitan libxml obtienen la ruta de búsqueda adicional. Si agrega la ruta a la configuración de compilación de su proyecto, todos sus objetivos lo heredarán y no debería haber ningún problema.

+0

Perdón por la confusión. Solo mencioné que probé $ {SDKROOT} y $ {SDK_DIR} delante de/usr/include/libxml2. Pero está arreglado ahora :) – Enadeag

+2

Pude arreglar el error agregando '" $ (SDKROOT)/usr/include/libxml2 "' (incluyendo comillas dobles) en ** Objetivos> Configuraciones de compilación> Rutas de búsqueda de encabezado ** – Hemang

+0

@ Enadeag: ¿pueden compartirnos cómo resolvió el problema anterior para ninguna de las soluciones que funcionó para mí – sabir

5
  • Agregue libxml2.dylib en Fases de compilación.
  • Agregar TFHpple.m, TFHppleElement.m, XpathQuery.m para generar fases (compilar fuentes).
  • Añadir
    Other Linker Flags: -lxml2 
    Header Search Paths: ${SDK_DIR}/usr/include/libxml2

en el proyecto -> Build fases y en OBJETIVOS -> Build fases.

Cuestiones relacionadas