iPhone上的SQLite,奇怪的链接错误

Posted

技术标签:

【中文标题】iPhone上的SQLite,奇怪的链接错误【英文标题】:SQLite on the iPhone, strange linking errors 【发布时间】:2010-05-28 10:46:06 【问题描述】:

我一直在阅读this tutorial 在 iPhone 应用程序中使用 SQLite 数据库。这很棒,我在模拟器中一切正常。一旦我构建到设备,我就会收到以下链接器错误:

ld:警告:在 /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libgcc_s.1.dylib, 缺少所需的架构臂 文件 ld:警告:在 /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libSystem.dylib, 缺少所需的架构臂 文件 ld:在 /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libobjc.A.dylib, 缺少所需的架构臂 文件 collect2: ld 返回 1 退出 状态命令 /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 退出代码 1 失败

我已尝试包含本网站和其他留言板中提到的不同版本的 libsqlite3.0.dylib 文件,但没有任何不同(是的,我已尝试清理)。

如果有人遇到过类似的问题,你如何解决这个问题?

【问题讨论】:

【参考方案1】:

看起来您正在链接“当前操作系统”作为 SDK。您应该在构建设置中选择一个 iPhone SDK。

编辑: 或者,您选择了与当前 SDK 不同的库。

【讨论】:

【参考方案2】:

对此的解决方案非常奇怪,我不完全确定删除它做了什么......但是,这就是我所做的......

在目标构建设置下,我注意到在“搜索路径”部分中,在“库搜索路径”下设置了以下内容:

"$(inherited)"
"$(DEVELOPER_DIR)/SDKs/MacOSX10.6.sdk/usr/lib"
"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk/usr/lib"
"$(SRCROOT)"

我用我在 iPhoneOS 3.1.3 发布之前创建的应用程序检查了这个,它是空白的。通过删除上述内容,我的应用程序立即构建和编译...

很奇怪。感谢 Claus Broch 让我完成了 50% 的目标!

【讨论】:

以上是关于iPhone上的SQLite,奇怪的链接错误的主要内容,如果未能解决你的问题,请参考以下文章

iPhone上的Facebook登录导致“lang:错误:链接器命令失败”

设备和模拟器中iPhone应用程序上的Xcode链接器错误[重复]

字段转换为 iPad 和 iPhone 上的电话号码链接

项目存档上的 Apple Mach-O 链接器错误

iPhone上的图片链接不可点击

iphone - 点击 WebView 上的手势与点击的链接冲突