Question

Tout d'abord, s'il vous plaît pardonnez et remarquer si je suis d'utiliser un autre protocole pour le référencement d'un autre thread / après.

Il y avait un précédent fil comment compiler spatialite pour iOS où le top réponse décrit en partie la construction spatialite comme une bibliothèque statique pour iOS. La réponse comprenait le texte:

« Une fois que vous avez faites glisser n déposer la .a (les deux sont nécessaires pour travailler dans le simulateur et sur le matériel réel), vous pouvez initialiser spatialite simplement en invoquant spatialite_init(1). »

Je suppose cela se traduit à une version de ce qui suit?

Xcode 4

  1. File-> New-> New Target-> iOS-> Cadre et Library-> Cocoa Touch Bibliothèque statique

  2. Nom de la bibliothèque - libSpatialite_TedS

  3. Faites glisser les fichiers d'en-tête à libSpatialite_TedS -> Copier en-têtes (question ici ... il y a un fichier spatialite.h dans le répertoire « » en-têtes du téléchargement « de spatialite2.3.1.zip » Puis, dans le sous-répertoire. « spatialite » il y a un autre spatialite.h qui n'est pas un fichier identique et est évidemment nécessaire. est-ce que nous venons de faire glisser les fichiers d'en-tête du répertoire 'en-têtes de, puis faites glisser le répertoire « spatialite » comme un répertoire dans la zone' Copie têtes de de notre bibliothèque statique Xcode 'myNewLibrary'?)

  4. Faites glisser le » .a fichiers libSPATIALITE2.3.1_arm.a & libSPATIALITE2.3.1_x86.a

  5. On ne devrait pas avoir des fichiers '.m' pour aller avec ces en-têtes dans le champ 'Sources' Compile?

Maintenant, sans faire référence à la libSpatialite_TedS dans mon projet, quand je commande B 'à construire, la construction du projet réussit. Cependant, quand je cherche le produit compilé dans

/ Utilisateurs / Administration / Bibliothèque / Développeur / Xcode / DerivedData / MyProject-gutnkbwqqonzgxbcmfzzzkadqhid / construction / Produits / Release-iphonesimulator

Je vois les produits de construction, mais ils ne comprennent pas libSpatialite_TedS.

Est-ce parce que le compilateur est « intelligent » et reconnaît qu'aucun de l'en-tête / .a fichiers sont référencés dans le projet de sorte qu'il ne prend pas la peine de les compiler?

Et, est-ce la bonne façon de s'y prendre pour atteindre l'objectif de l'affiche originale comment compiler spatialite pour iOS ?

Merci, Ted S

Était-ce utile?

La solution

Je courais dans les erreurs de l'éditeur de liens avec le trop affiche d'origine, mais résolu en incluant libsqlite3.dylib, libstc ++. Dylib et libiconv.dylib dans la cible.

Hope this helps!

Autres conseils

Ted, je crois que les fichiers .a (bibliothèque statique) et les en-têtes sont destinés à être utilisés dans un projet tout de suite, plutôt que dans une autre bibliothèque statique que vous avez décrit. Ils sont le résultat de la production d'un projet. Je pense que vous pouvez trouver le projet qui les construit, ici:

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

Et un peu plus sur les fichiers de bibliothèque statique:

Qu'est-ce qu'un fichier .a (comme de libcrypto.a)?

ÉDITÉ

Voici un autre lien que vous pourriez trouver utile. Il est un résumé du processus de construction Bibliothèque statique dans iOS: http://www.icodeblog.com/2011 / 04/07 / création de-statiques-bibliothèques pour-ios /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top