为 iOS 构建一个静态库 - 特别是spatialite

2024-01-21

首先,请原谅并指出我是否要使用其他协议来引用另一个线程/帖子。

之前有一个话题如何为iOS编译spatialite https://stackoverflow.com/questions/4793970/how-to-compile-spatialite-for-ios其中最重要的答案部分描述了将 spaceite 构建为 iOS 的静态库。答案包括以下文字:

“一旦你拖放了.a(两者都需要在模拟器和真实硬件上工作),你可以通过调用来初始化spatialitespatialite_init(1)."

我猜这被翻译成以下的某个版本?

Xcode 4

  1. 文件->新建->新目标->iOS->框架和库->Cocoa Touch静态库

  2. 将库命名为 - libSpatialite_TedS

  3. 将头文件拖到 libSpatialite_TedS -> Copy Headers (这里有问题...在'spatialite2.3.1.zip'下载的'headers'目录中有一个spatialite.h文件。然后在子目录'spatialite'中有另一个spaceite.h 不是一个相同的文件,显然是需要的。我们是否只需从“headers”目录中拖动头文件,然后将目录“spatialite”作为目录拖动到 Xcode 静态库“myNewLibrary”的“Copy Headers”区域中'?)

  4. 拖动“.a 文件”libSPATIALITE2.3.1_arm.a 和 libSPATIALITE2.3.1_x86.a

  5. 难道我们不应该在“编译源”字段中添加一些“.m”文件来配合这些标头吗?

现在,无需参考libSpatialite_TedS在我的项目中,当我“Command-B”构建时,项目构建成功。但是,当我在中查找编译后的产品时

/Users/Admin/Library/Developer/Xcode/DerivedData/MyProject-gutnkbwqqonzgxbcmfzzzzkadqhid/Build/Products/Release-iphonesimulator

我看到了 build 的产品,但它们不包括 libSpatialite_TedS。

这是因为编译器是“智能”的并且认识到项目中没有引用任何 header/.a 文件,因此它不会编译它们?

而且,这是实现原始海报目标的正确方法吗?如何为iOS编译spatialite https://stackoverflow.com/questions/4793970/how-to-compile-spatialite-for-ios?

非常感谢, 特德·S


我也遇到了原始海报的链接器错误,但通过在目标中包含 libsqlite3.dylib、libstc++.dylib 和 libiconv.dylib 解决了它。

希望这可以帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 iOS 构建一个静态库 - 特别是spatialite 的相关文章

随机推荐

  • 创建带有任何参数的 std::functions 的 unordered_map ?

    我正在尝试创建一个无序地图std functions 其中键是一个字符串 您将在其中查找要调用的函数 而该函数就是值 我写了一个小程序 include
  • 多边形不是封闭的

    我注意到 当使用绘图管理器绘制多边形时 它们没有关闭 即最后一个点到第一个点没有坐标 我知道 Google Maps API v3 会自动关闭多边形 但 Google Earth Google Static Maps API 或任何其他软件
  • 在 iOS 8 框架中使用类别

    我正在尝试使用框架在应用程序和扩展之间共享一些代码 大多数情况下 这是有效的 但我有几个类别似乎无法在扩展中正确加载 例如 我在 NSString 上有一个类别来反转目标字符串 但是当我尝试在扩展中使用该选择器时 我的代码会陷入 无法识别的
  • 在 JS 中格式化 Date()

    我有脚本然后需要获取这种格式的日期和时间08 25 2017 1 54 PM 我为日期编写代码 这里是 document ready function var dateNow new Date var dd dateNow getDate
  • 如何在React中给组件添加滚动条?

    我在 SPA 中使用带有 3 列的网格系统 左右列表包含占用 100 视口高度的组件 中间列包含一个长列表 并且想在中间组件中添加一个滚动条 我尝试用几个不同的滚动条组件编写中间组件 但没有任何效果 我最终总是看到一个主页滚动 当进一步向下
  • 绘图程序

    我倾向于成为一个视觉思考者 因此 如果我可以想象程序中的数据流 那么我就可以更好地理解其中发生的事情 而不是阅读正在发生的事情的文本故事 伪代码 有没有一种方法可以直观地表示变量和对象流经函数以及被函数更改的方式 最好是在小规模 单个函数内
  • 如何使用 NSUserDefaults 在 Swift 中保存 Int 数组?

    这是一个数组 var myArray 1 它包含Int values 这就是我保存数组的方式NSUserDefaults 这段代码似乎工作正常 NSUserDefaults standardUserDefaults setObject my
  • 关闭后如何清除模态中的反应状态?

    我有一张显示产品详细信息的产品卡 底部有一个 编辑 button When clicked它显示了一个预填充的模态input字段 可以编辑然后保存 模态框也可以关闭而不保存 但已编辑输入字段 我的问题是 当用户编辑字段时 然后关闭模式 不保
  • iOS 16 模拟器:在模拟器中运行应用程序会导致“.xpc 错误”

    更新到 macOS 13 0 Beta 并安装 Xcode 14 0 Beta 后 我们运行一个应用程序 将目标操作系统设置为 16 出现以下错误 手动启动时 iPhone 模拟器也不会启动 这里是描述问题的详细错误消息 Details T
  • 将镜像从 ECR 拉取到 Kubernetes 部署文件

    我在从 AWS ECR 存储库中提取 docker 映像时遇到了这个问题 之前我使用过 kubectl create secret docker registry regcred docker server https index dock
  • 在 MATLAB 中执行此类 Python 向量化赋值的等效方法是什么?

    我正在尝试将这行代码从 Python 转换为 MATLAB new img M 0 corners 0 0 M 1 corners 1 0 img T 0 T 1 所以 很自然地 我写了这样的东西 new img M 1 corners 2
  • 导入Visual Studio测试项目时如何创建vsmdi/testrunco​​nfig文件?

    当我添加现有测试项目时 我的解决方案缺少 vsdmi 和 testrunco nfig 文件 如何创建它 这个问题的解决方案有点棘手 您必须将 新项目 添加到您的解决方案中 而不是您的测试项目中 在 添加新项目 对话框中 您可以选择 测试运
  • 使首选项看起来已禁用,但仍记录点击

    因此 在我的应用程序的某些状态下 我想在我的设置菜单中禁用某些 CheckBoxPreferences 但是 如果用户单击它们 我希望显示一个解释性的 toast 如果我只是执行 setEnable false 在 CheckBoxPref
  • 该项目需要一个淘汰计时器

    我的项目需要一个淘汰计时器 只需单击一下即可在计时器达到 0 后重新启动 我有以下代码 但这不会重新启动 有人可以帮助我吗 this countDown ko observable ko bindingHandlers timer upda
  • 根据相似度匹配 2 个字符串列表

    Problem 我有 2 个字符串列表 我想从我的列表中找到最匹配的对 例如 我有这两个列表 list1 a1 b1 c1 list2 a2 b2 c2 我想得到以下结果 results a1 a2 b1 b2 c1 c2 附加信息 为了比
  • 使用 R 将 t 分布叠加到我的直方图上?

    如何使用 R 将 t 密度叠加到直方图上 这是我的功能 simfun lt function a 56 25102409 b 1 78977412 c 0 08664925 n 18 x1 sd 18 87671 x2 sd 18 8767
  • smack 4.1 Openfire 示例示例 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我的门户网站一直使用 smack 3 4 我的 Android 应用程序也使用了 asmack 3 4
  • Logstash:将 URL 参数获取到哈希值中

    我正在尝试使用 Logstash 和 ElasticSearch 来监视我的 Apache Web 服务器活动 目前 它工作得很好 但我需要有关我的请求字段的更多具体信息 此时我的logstash配置是 filter grok match
  • 如何获取 JSON Key 和 Value?

    我编写了以下代码来从 Web 服务获取 JSON 结果 function SaveUploadedDataInDB fileName ajax type POST url SaveData asmx SaveFileData data Fi
  • 为 iOS 构建一个静态库 - 特别是spatialite

    首先 请原谅并指出我是否要使用其他协议来引用另一个线程 帖子 之前有一个话题如何为iOS编译spatialite https stackoverflow com questions 4793970 how to compile spatia