Pregunta

Primero, perdona y señala si debo usar algún otro protocolo para hacer referencia a otro hilo/publicación.

Hubo un hilo anterior cómo compilar espacialita para iOS Donde la respuesta superior descrita parcialmente construyendo espacialita como una biblioteca estática para iOS. La respuesta incluyó el texto:

"Una vez que hayas arrastrado y suelte el .a (ambos están obligados a trabajar en el simulador y en el hardware real), puede inicializar la espacialita simplemente invocando spatialite_init(1)."

¿Supongo que esto se traduce en alguna versión de lo siguiente?

Xcode 4

  1. Archivo-> nuevo-> nuevo objetivo-> iOS-> Framework & Biblioteca-> Biblioteca estática de Cocoa Touch

  2. Nombra la biblioteca - libspatialite_teds

  3. Arrastre los archivos de encabezado a libspatialite_teds -> Copiar encabezados (pregunta aquí ... hay un archivo espacialite.h en el directorio 'encabezados' de la descarga 'spatialite2.3.1.zip'. Luego en el subdirectorio 'espacialita' hay otro Spacialite.h Ese no es un archivo idéntico y obviamente es necesario. ¿Simplemente arrastramos los archivos de encabezado desde el directorio de 'encabezados', luego arrastran el directorio 'espacialita' como un directorio en el área de 'encabezados de copias' de nuestra biblioteca estática Xcode 'myNewlibrary '?)

  4. Arrastre el '.a archivos libspatialite2.3.1_arm.a & libspatialite2.3.1_x86.a

  5. ¿No deberíamos tener algunos archivos '.m' para acompañar estos encabezados en el campo 'Compilar fuentes'?

Ahora, sin hacer referencia al libSpatialite_TedS En mi proyecto, cuando 'Command-B' para construir, la construcción del proyecto tiene éxito. Sin embargo, cuando busco el producto compilado en

/Usuarios/admin/biblioteca/desarrollador/xcode/derivadodata/myproject-gutnkbwqqonzgxbcmfzzzkadqhid/build/productos/versión-iphonesimulator

Veo los productos de Build, pero no incluyen libspatialite_teds.

¿Es esto porque el compilador es 'inteligente' y reconoce que ninguno de los archivos de encabezado/.a se hace referencia en el proyecto para que no se moleste en compilarlos?

Y es esta la forma correcta de lograr el objetivo del póster original cómo compilar espacialita para iOS?

Muchas gracias, Ted S

¿Fue útil?

Solución

También me encontré con errores de enlace con el póster original, pero lo resolví al incluir libsqlite3.dylib, libstc ++. Dylib y libiconv.dylib en el objetivo.

¡Espero que esto ayude!

Otros consejos

Ted, creo que los archivos y encabezados .a (biblioteca estática) están destinadas a ser utilizadas en un proyecto de inmediato, en lugar de en otra biblioteca estática como has descrito. Son el resultado de la producción de un proyecto. Creo que puedes encontrar el proyecto que los construyó aquí:

http://lionel.gueganton.free.fr/spatialite/

Y un poco más sobre los archivos de la biblioteca estática:

¿Qué es un archivo .a (como libcrypto.a)?

Editado

Aquí hay otro enlace que puede encontrar útil. SA Resumen del proceso de construcción de la biblioteca estática en iOS:http://www.icodeblog.com/2011/04/07/creating-static-libraries-for-ios/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top