как скомпилировать Spaceite для iOS

Я здесь новенький, и это моя первая тема. Я очень новичок в платформе iOS, и я пытаюсь использовать расширение spaceiate с sqlite3, но я не мог этого сделать. Это сводит меня с ума. Я не знаю, как и с чего начать. Может кто-нибудь дать мне предложение?

Спасибо.


person Nacrug    schedule 25.01.2011    source источник
comment
что ты уже испробовал? Я нашел это, может помочь: groups.google.com / группа / Spaceite-users / browse_thread / thread /   -  person badgerr    schedule 25.01.2011
comment
Спасибо за ответ. Я смотрел ссылку раньше, но точно не понял. Я просто хочу добавить в свой проект библиотеку Spaceite и загрузить ее. Однако, когда я пытаюсь загрузить .load 'SpatiaLite.dylib', он говорит, что такой загрузки нет. Что я хочу сначала? Я хочу поместить небольшой регион в базу данных, и я могу найти свое место в этом регионе в автономном режиме.   -  person Nacrug    schedule 25.01.2011
comment
Динамические библиотеки не поддерживаются на iPhone. Вам необходимо создать любые фреймворки, которые вы хотите включить в качестве статических библиотек. Этот вопрос может быть здесь полезен: Компиляция пользовательского SQLite для приложения для iPhone   -  person Brad Larson    schedule 25.01.2011
comment
Спасибо за вашу помощь. Собственно я понял, как компилировать под iOS. Однако есть проблема со сборкой или установкой Spaceite на Mac, над которой я работаю. Еще раз спасибо.   -  person Nacrug    schedule 26.01.2011


Ответы (4)


Я тот парень, который поделился библиотеками на http: // ;-). Я добился значительных успехов в упрощении интеграции пространственного интерфейса для iOS. Теперь я могу создать полностью автономную статическую библиотеку пространственных объектов (2.3.1, в которую встроены необходимые GEOS и PROJ, так что мне не придется брать их с собой на машине).

Просто загрузите zip-архив http://lionel.gueganton.free.fr/spatialite/spatialite2.3.1.zip, и вы получите .a для заголовков x86 и arm +, чтобы вы могли напрямую использовать интерфейс Spaceite из этих заголовков.

После того, как вы перетащите .a (оба необходимы для работы в симуляторе И на реальном оборудовании), вы можете инициализировать Spaceite, просто вызвав spatialite_init(1).

В журнале консоли должно отображаться следующее:

SpatiaLite version ..: 2.3.1    Supported Extensions:
    - 'VirtualShape'    [direct Shapefile access]
    - 'VirtualText      [direct CSV/TXT access]
    - 'VirtualNetwork   [Dijkstra shortest path]
    - 'RTree'       [Spatial Index - R*Tree]
    - 'MbrCache'        [Spatial Index - MBR cache]
    - 'VirtualFDO'      [FDO-OGR interoperability]
    - 'SpatiaLite'      [Spatial SQL - OGC]
PROJ.4 version ......: Rel. 4.6.1, 21 August 2008
GEOS version ........: 3.1.1-CAPI-1.6.0

person yonel    schedule 01.02.2011
comment
Большое, большое спасибо за этого yonel, я почти чувствую себя виноватым за то, что получил баллы за этот ответ :-(. Конечно, я возьму копию ваших двоичных файлов напрямую. Еще раз спасибо. - person Big Rich; 02.02.2011
comment
Верни мне мои очки! ;) Я шучу :) Если у вас есть возможность попробовать их, мне очень интересно ваше мнение. Как Влад сказал в ответе, вам нужно будет добавить stdlib ++. Dylib в проект Xcode, поскольку GEOS (который является частью .a) - это код C ++, который использует std lib. Ваше здоровье ! - person yonel; 02.02.2011
comment
Почему двоичный файл такой огромный: файл .a 80 МБ? Я скомпилировал Spatialite для Android с помощью NDK здесь, и это меньше 7 МБ, более чем в 10 раз меньше. - person JaakL; 04.01.2012
comment
Хорошо, теперь я понимаю, почему он такой огромный. Он включает в себя всю GEOS (также функции, не используемые Spatialite, возможно, можно исключить с помощью какого-либо переключателя?), И две копии всего, поскольку это толстая библиотека (как armv6, так и armv7). Окончательная сборка приложения будет оптимизирована, и накладные расходы будут всего на несколько МБ. - person JaakL; 10.01.2012
comment
Привет, да, статическая библиотека .aggregates Spaceite + PROJ и GEOS. Я думаю, что символы, которые не используются напрямую в Spaceite, исключаются в процессе сборки, но я не могу гарантировать, что 100%: / - person yonel; 11.01.2012
comment
Похоже, в заголовочном файле есть опечатка. Я получаю ошибки компоновщика, когда пытаюсь вызвать dump_shapefile или load_shapefile. - person Kellen; 17.05.2012
comment
Я что-то упускаю? Я не могу найти инструкции, как его построить. Я бы хотел построить без PROJ и GEOS. - person huggie; 27.06.2012
comment
хм, с тех пор спиритилит эволюционировал. Версия 3.0.0 уже давно вышла, поэтому я бы порекомендовал проверить эту. Более того, зачем вам это без PROJ и GEOS? Вы не получите многого от Spaceite без этих двух проектов, не так ли? - person yonel; 01.07.2012
comment
В XCode 4.6 я получаю ошибку компоновщика: файл универсален (2 фрагмента), но не содержит (n) фрагмента armv7s: - person tmanthey; 11.04.2013
comment
Я получаю это предупреждение, как решить эту проблему ld: warning: ignoring file /Users/apple/spatialiteDemo2/SpatialiteFiles/lib/libSPATIALITE_2.3.1_arm.a,missing required architecture x86_64 in file /Users/apple/Documents/spatialiteDemo2/spatialiteDemo2/SpatialiteFiles/lib/libSPATIALITE_2.3.1_arm.a (2 slices) ld: warning: ignoring file /Users/apple/spatialiteDemo2/SpatialiteFiles/lib/libSPATIALITE_2.3.1_x86.a, file was built for archive which is not the architecture being linked (x86_64):/Users/apple/spatialiteDemo2/SpatialiteFiles/lib/libSPATIALITE_2.3.1_x86.a - person Simeryn Denis; 14.05.2018

Сверните, Сверните, получите их, пока они горячие!

Мастера, в этом гугл-фу силен!

Не могу сказать, что написал это (я действительно планирую в ближайшее время создать сценарии CMake для iPhone SQLite и Spatialite), но я предлагаю вам перейти к этот сайт до 404:

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

иди, скачай тебе кое-что, в том числе скомпилированные бинарные файлы Spatialite + extensions 2.3.1 !!!.

Существует скрипт Cmake для SQLite-on-OSX (первоначально найденный здесь), который, вероятно, с небольшими усилиями должен быть повторно настроен на Сборки SQLite-iPhone (я сделаю это, как только у меня будет время). Это должно позволить вам использовать последнюю версию SQLite (я читал, что версия, включенная в Apple, немного урезана). Затем, предположительно, вам просто нужно ссылаться на новые файлы заголовков локально, т. Е. Используя кавычки.

(например, "sqllitexxx.h")

вместо угловых скобок:

(‹sqllitexoldx.h›)

Итак, получу ли я эти пикантные очки ;-)?

Ваше здоровье

Большой Богатый

person Big Rich    schedule 28.01.2011

Spatialite для iOS за 3 простых шага:

  1. Загрузите файл Makefile и патч со страницы https://github.com/gstf/libspatialite-ios
  2. Тип сделать
  3. Нет шага 3

Благодарю Густава Линдквиста за то, что он сделал это доступным!

person Johan Kool    schedule 26.05.2013

Возможно, вам придется скомпилировать для цели armv7 (оптимизированная сборка), вы также должны связать с stdlib ++. Dylib.

person Vlad    schedule 01.02.2011