4

我正在尝试构建最新版本的 Spatialite 以在 iOS 平台上使用,但进展不大。我已经下载了以下库的最新版本,并尝试将它们带入一个项目(每个项目都作为自己的目标)并将它们构建为一个静态库。

  • Spatialite(3.0.1合并)
  • GEOS(每晚在 20121114 上构建)
  • PROJ.4 (4.8.0)

每次下载都包含数十个文件,其中包含脚本、标题和源代码。从这里的步骤中不清楚哪些应该加载,哪些不应该加载。我尝试将每个目录中的所有文件都引入到他们自己的组中,但无济于事,我在第 2 步遇到困难,因为我的 Xcode 版本与示例中使用的版本不同。添加 PROJ.4 位时,Xcode 询问我是否要创建“外部构建系统项目”。

我还尝试从这篇文章中获取 Lionel 的项目并更新所有软件的版本。不幸的是,Xcode 在新源代码中抛出了几十个警告,并且也抛出了一些错误。如有必要,我可以分享这些。更进一步,我什至将他的输出(一个静态库和头文件)带到另一个项目中,但由于某种原因,编译器抛出错误,说他们找不到“sqlite3”。我已将 SQLite3 添加到项目中,但并没有解决问题。

我也尝试过跟进这个线程,但我无法提问,所以我无法询问原始用户他/她是如何做到这一点的。

最后,一个问题:

有谁知道如何使用 Xcode 4.5 和 iOS 6 构建最新版本的 Spatialite 及其配套库(GEOS、PROJ.4)?

如果是这样,你能分享一下你是怎么做到的吗?我也想从概念上理解正在发生的事情。

4

2 回答 2

2

我知道两种替代方法,对我来说都很好。

  1. 从libspatialite-ios获取 Makefile 和补丁,输入make
  2. 使用名为 'spatialite' 的 Cocoapods 和 pod 或更通用的SpatialDBKit

两者都将为您提供当前较旧的 4.1.1 版本,但这对于大多数用途来说都很好。

于 2014-08-26T09:04:58.303 回答
1

通过 CocoaPods:

安装 pod install 的依赖项

brew install automake autoconf libtool

然后在您的 XCode 项目中添加您的 Podfile 模板:

pod init

添加 spatialite pod 依赖:

vi Podfile

并将这一行添加到您的主要目标中

pod 'spatialite', '4.1.1'

如果 Podfile 中存在现有项目,则添加工作区

workspace 'YourWorkspaceName'

pod install

高枕无忧。完成后使用 XCode 打开工作区

于 2015-02-18T12:38:59.373 回答