ios - 如何使用 libSystem.B 在 XCode 4 中为 iOS 3.1 部署目标构建?

标签 ios linker xcode4

我最近从 XCode 3 升级到 4,现在我的 iPhone 项目出现构建问题。我需要支持旧版本的 iOS 回到 3.1。使用 XCode 3.2.5,我可以使用 3.1 的 iOS 部署目标使用 SDK 4.2 构建。我还包含了一个指向 libSystem.B 库的弱链接,这是在旧版 iOS 上运行该应用程序所必需的。现在,当我使用 XCode 4 构建时,出现以下链接器错误。编译步骤完成,但链接步骤失败。如果我删除指向 libSystem.B 库的弱链接,则构建完成,但应用程序在 iOS 3.1 上运行时在启动时崩溃。

有没有人找到解决这个问题的方法?您如何使用 XCode 4 构建以在旧版本的 iOS 上运行?

ld:找不到 -lSystem.B 的库 collect2: ld 返回 1 退出状态 命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 失败,退出代码为 1

最佳答案

在“其他链接器标志”下的项目build设置中添加以下内容:

-weak_library/usr/lib/libSystem.B.dylib

它应该会自动添加到您的 Target build设置中,但如果不是,您也应该将其添加到那里。

关于ios - 如何使用 libSystem.B 在 XCode 4 中为 iOS 3.1 部署目标构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346250/

相关文章:

iphone - 如何检查 Xcode 4 中未使用的变量

ios - Alamofire 5 在使用 Carthage 安装后显示错误, "' Alamofire 没有名为请求的成员”

eclipse - ld : Symbol(s) not found… but they are there…

macos - Clang 代码覆盖率 - Mac OS X - 链接器错误

找不到 C++ 虚函数

iphone - 构建位置下 Xcode 构建产品路径的奇怪行为

iphone - ZipKit 和 Xcode 4

IOS - Segue - 检测点击了哪个图像

ios - 在 Xcode Project 中查找本地视频的路径

ios - 如何在字符串操作时获取ios中某些特殊字符之间的数据