首先,请原谅并指出我是否要使用其他协议来引用另一个线程/帖子。
之前有一个线程如何为 iOS 编译 spatialite,其中最佳答案部分描述了将 spatialite 构建为 iOS 的静态库。答案包括以下文字:
“一旦你拖放了.a(两者都需要在模拟器和真实硬件上工作),你可以通过调用来初始化空间spatialite_init(1)
。”
我猜这被翻译成以下的某些版本?
Xcode 4
File->New->New Target->iOS->Framework & Library->Cocoa Touch静态库
命名库 - libSpatialite_TedS
将头文件拖到 libSpatialite_TedS -> Copy Headers (这里的问题......在'spatialite2.3.1.zip'下载的'headers'目录中有一个spatialite.h文件。然后在'spatialite'子目录中还有另一个spatialite.h,它不是一个相同的文件,显然是需要的。我们是否只需将头文件从“headers”目录中拖动,然后将目录“spatialite”作为目录拖到我们的 Xcode 静态库“myNewLibrary”的“Copy Headers”区域中'?)
拖动“.a 文件”libSPATIALITE2.3.1_arm.a & libSPATIALITE2.3.1_x86.a
我们不应该在“编译源”字段中有一些“.m”文件与这些标题一起使用吗?
现在,没有libSpatialite_TedS
在我的项目中引用,当我“Command-B”构建时,项目构建成功。但是,当我在
/Users/Admin/Library/Developer/Xcode/DerivedData/MyProject-gutnkbwqqonzgxbcmfzzzkadqhid/Build/Products/Release-iphonesimulator
我看到了 build 的产品,但它们不包括 libSpatialite_TedS。
这是因为编译器是“智能的”并且识别出项目中没有引用任何 header/.a 文件,因此它不会费心编译它们吗?
而且,这是实现原始海报如何为 iOS 编译空间站目标的正确方法吗?
非常感谢,泰德 S