Frage

Vergeben Sie zunächst bitte, ob ich ein anderes Protokoll verwenden soll, um einen anderen Thread/Beitrag zu verweisen.

Es gab einen vorherigen Thread Wie man Spatialit für iOS zusammenstellt wo die Top -Antwort teilweise das Gebäude von Räumlichkeit als statische Bibliothek für iOS beschrieb. Die Antwort enthielt den Text:

"Sobald Sie N DROP DIE .A DRAG DRAGEN spatialite_init(1)."

Ich vermute, dass dies in eine Version der folgenden Version übersetzt wird?

Xcode 4

  1. Datei-> New-> New Target-> iOS-> Framework & Library-> Cocoa Touch statische Bibliothek

  2. Nennen Sie die Bibliothek - libSpatialite_teds

  3. Ziehen Sie die Header -Dateien in libsspatialite_teds -> Header kopieren (Frage hier ... Es gibt eine räumlich.h -Datei im Verzeichnis "Headers" des Downloads "Spatialite2.3.1.zip". Dann im Unterverzeichnis "räumlich" gibt es einen anderen Spatialite.h, das keine identische Datei ist und offensichtlich benötigt wird. Ziehen wir einfach die Header -Dateien aus dem Verzeichnis "Header" und ziehen Sie dann das Verzeichnis "Spatialit" als Verzeichnis in "Kopie" Headers "unserer Xcode Static Library" MyNewlibrary " '?)

  4. Ziehen Sie die '.a -Dateien' libSpatialite2.3.1_arm.a & libSpatialite2.3.1_x86.a

  5. Sollten wir nicht einige '.M' -Dateien zu diesen Header im Feld "Kompilierquellen" haben?

Nun, ohne auf die zu verweisen libSpatialite_TedS In meinem Projekt ist das Projektbau erfolgreich, wenn ich mit dem Befehlsbetrieb bauen kann. Wenn ich jedoch nach dem zusammengestellten Produkt in suche

/Benutzer/admin/bibliothek/Entwickler/Xcode/DEFIVEDDATA/MYPROJEKT-GUTNKBWQQONZGXBCMFZZZKADQHID/BUILE/PRODUKTE/Release-iPhoneSimulator

Ich sehe die Produkte von Build, aber sie enthalten keine libspatialite_teds.

Liegt dies daran, dass der Compiler „intelligent“ ist und erkennt, dass keiner der Header/.A -Dateien im Projekt verwiesen wird, sodass sich nicht die Mühe macht, sie zu kompilieren?

Und ist dies der richtige Weg, um das Ziel des Originalplakats zu erreichen Wie man Spatialit für iOS zusammenstellt?

Vielen Dank, Ted S.

War es hilfreich?

Lösung

Ich bin auch mit dem ursprünglichen Poster auf Linkerfehler gestoßen, löste es aber durch Einbeziehung von libsqlite3.dylib, libstc ++. Dylib und libiconv.dylib im Ziel.

Hoffe das hilft!

Andere Tipps

Ted, ich glaube, dass die Dateien und Header .a (statische Bibliothek) und die Header in einem Projekt eher als in einer anderen statischen Bibliothek verwendet werden sollen, wie Sie es beschrieben haben. Sie sind das Ergebnis der Ausgabe eines Projekts. Ich denke, Sie können das Projekt finden, das sie hier gebaut hat:

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

Und etwas mehr über statische Bibliotheksdateien:

Was ist eine .a (als libcrypto.a) Datei?

Bearbeitet

Hier ist ein weiterer Link, den Sie möglicherweise hilfreich finden. Es ist eine Zusammenfassung des statischen Bibliotheksbauprozesses in iOS:http://www-

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top