gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 05:38:42 30 4
gpt4 key购买 nike

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

之前有一个话题how to compile spatialite for iOS其中最佳答案部分描述了将 spatialite 构建为 iOS 的静态库。答案包括文本:

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

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

Xcode 4

  1. File->New->New Target->iOS->Framework & Library->Cocoa Touch Static Library

  2. 将库命名为 libSpatialite_TedS

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

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

  5. 我们不应该在“编译源”字段中有一些“.m”文件与这些 header 一起使用吗?

现在,在我的项目中没有引用 libSpatialite_TedS 的情况下,当我“Command-B”进行构建时,项目构建成功。但是,当我在

中查找编译后的产品时

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

我看到构建的产品,但它们不包括 libSpatialite_TedS。

这是不是因为编译器很“聪明”,可以识别出项目中没有引用任何 header/.a 文件,所以它不会编译它们?

而且,这是实现原始海报目标的正确方法吗 how to compile spatialite for iOS

非常感谢,泰德·S

最佳答案

我也遇到了原始发布者的链接器错误,但通过在目标中包含 libsqlite3.dylib、libstc++.dylib 和 libiconv.dylib 解决了这个问题。

希望这对您有所帮助!

关于ios - 为 iOS 构建一个静态库 - 特别是 spatialite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8360673/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com