Xcode 6 链接器错误 - 架构 armv7 的未定义符号

2024-02-15

升级到 Xcode 6 beta 7(现在仍然使用 Xcode 6 GM)后,我无法链接我的 Swift 应用程序。我收到如下错误:

架构armv7的未定义符号: “_swift_stdlib_compareNSStringDeterministicUnicodeCollat​​ion”,引用自:

...

ld:未找到架构armv7的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我已经看到其他 SO 帖子建议删除派生数据文件夹和/或使用清理构建文件夹选项来解决此错误,但该解决方案对我来说根本没有帮助。自上次运行 Xcode 6 beta 5 以来,我的代码或我使用的 CocoaPods 没有任何变化。

有任何想法吗?

EDIT:

错误日志的完整发布:

架构arm64的未定义符号: “_swift_stdlib_compareNSStringDeterministicUnicodeCollat​​ion”,引用自:BarcodeViewController.o 中的 TFC12MyProject21BarcodeViewController13captureOutputfS0_FTGSQCSo15AVCaptureOutput_24didOutputMetadataObjectsGSQGSaPSs9AnyObject___14fromConnectionGSQCSo19AVCaptureConnection__T_ “__TFSs21_arrayConditionalCastU___FGSaQ__GSqGSaQ0_”,参考自:SessionsTableViewController.o 中的 TFC12MyProject27SessionsTableViewController17viewWillDisappearfS0_FSbT_ “__TFSs15_arrayForceCastU___FGSaQ__GSaQ0”,参考自: RestApi.o 中的 __TFC12MyProject7RestApi12tokenMappingfS0_FT_CSo15RKEntityMapping attendeesTableViewController.o 中的 __TFC12MyProject28AttendeesTableViewControllerg24fetchedResultsControllerCSo26NSFetchedResultsController SessionsTableViewController.o 中的 __TFC12MyProject27SessionsTableViewControllerg24fetchedResultsControllerCSo26NSFetchedResultsController BarcodeViewController.o 中的 __TFC12MyProject21BarcodeViewController13startScanningfS0_FT_Sb “__TFSs26_forceBridgeFromObjectiveCU__FTPSs9AnyObject_MQ__Q_”,引用自: RestApi.o 中的 __TFC12MyProject7RestApi12resetRestKitfS0_FT_T_ BluetoothManager.o 中的 __TFC12MyProject16BluetoothManager17_startAdvertisingfS0_FT_T_ LoginViewController.o 中的 __TFC12MyProject19LoginViewController32registerForKeyboardNotificationsfS0_FT_T_ LoginViewController.o 中的 __TFC12MyProject19LoginViewController35deregisterFromKeyboardNotificationsfS0_FT_T_ LoginViewController.o 中的 __TFC12MyProject19LoginViewController16callProcessLoginfS0_FT_T_ CheckinViewController.o 中的 __TFC12MyProject21CheckinViewController16enableBeaconModefS0_FT_T_ BarcodeViewController.o 中的 __TFC12MyProject21BarcodeViewController13startScanningfS0_FT_Sb ... ld:未找到架构 arm64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)


这里发生的事情与您的派生数据位置无关。

当构建一个 swift 应用程序时,它会经历以下几个步骤:

  • 写入辅助文件

  • 创建产品结构

  • 为每个架构编译swift源码

  • 复制资源规则 plist

  • 复制应用程序桥接标头

  • 链接每个架构的 swift 运行时库

  • 为每个架构复制应用程序 swift 模块

  • 创建应用程序二进制文件

  • 复制资源构建阶段

  • 将 swift 标准库复制到应用程序中

  • 打包起来

  • Sign it

哇!好多啊。链接到 swift 运行时库时,您的构建失败。他们住在Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos在 Xcode 开发者目录中。具体来说,未正确链接的库是libswiftCore.dylib。如果你使用nm在该库上,您可以看到它定义了您的第一个丢失的符号:

quellish% nm /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib | grep compareNSStringDeterministicUnicodeCollation
00197c8c T _swift_stdlib_compareNSStringDeterministicUnicodeCollation
000000000018352c T _swift_stdlib_compareNSStringDeterministicUnicodeCollation

您还可以使用lipo查看文件中的架构:

quellish% xcrun lipo -info /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib
Architectures in the fat file: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib are: armv7 arm64

它包含armv7和arm64。问题不在于库架构。

与 swift 标准库的链接不起作用。源代码控制或迁移 Xcode 版本可能导致您的项目文件放弃部分链接步骤,或者根本无法找到需要链接的库。 Xcode 项目文件很复杂并使用大量引用 - 合并等可能会导致关键引用与链接步骤分离。如果没有完整的构建日志并查看您的机器,可能无法判断。

正如您可能猜到的那样,该库与项目的派生数据位置无关。

不幸的是,前进的最佳方法是重新创建项目文件。将损坏项目的构建日志与正确构建的 swift 项目进行比较可能会提供一些见解,但这也可能是浪费时间 - 问题可能是可以修复的,但更可能不是。

我鼓励您提交错误并包含麻烦的项目文件。

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

Xcode 6 链接器错误 - 架构 armv7 的未定义符号 的相关文章

  • AVPlayerLayer获取图像到UIImageView缓冲区

    我尝试 playerLayer renderInContext UIGraphicsGetCurrentContext 它将显示黑色背景 所以我得到当前播放器项目作为连续的重击图像 它看起来不像视频播放 只是静态图像连续流动 那么还有其他选
  • 进入/退出编辑模式时重绘 UITableViewCell

    我有一个表格视图 其中根据表格是否正在编辑 单元格的构建方式有所不同 具体来说 处于编辑模式时选择样式为无 非编辑模式时选择样式为蓝色 当我从一个单元转换到另一个单元时 我注意到某些单元格没有更新 快速的日志记录告诉我 即使单元格的外观发生
  • CFBundle可执行文件丢失或无效

    尝试在 iOS 模拟器中运行我的项目时 我收到启动代码错误 0 检查 CoreSimulator log 中的控制台日志 我发现了 app 可执行文件 其 Info plist 中缺少或无效 CFBundleExecutable 我不知道如
  • XCode 4 中的标头搜索路径

    我想添加一个路径到标题搜索路径 但是 在构建设置中 当我双击标题搜索路径时 它不会弹出一个可以输入的新窗口 我做错了什么 单击左侧文件导航器中的项目 然后在出现的编辑器中单击项目或目标 单击 构建设置 然后从 基本 更改为 全部 它位于搜索
  • 将自定义变量添加到现有类(如 UIButton)的正确方法是什么?

    在我的应用程序中 我严重依赖不同的视图类型 它们将持有不同的值 例如 对于一个按钮 我需要它有 4 个附加变量 我是这样实现的 import UIKit class ActionButton UIButton var row 0 var a
  • PhoneGap/Cordova:如何使用cookies(iOS)?

    我有一个适用于 iOS 的 PhoneGap Corodova 项目 在 iOS 模拟器上构建时 我使用了 Jquery Cookies 它们很好 但是 既然我的设备上有该应用程序用于测试 它们就不再工作了 我猜这只是 iOS 不支持的东西
  • MonoTouch - 编辑 xib 时缺少头文件[重复]

    这个问题在这里已经有答案了 我使用的是 Mac OSX Lion 10 7 0 带有适用于 IOS 5 的 Xcode 4 2 和 Xamarin 的 MonoTouch 跨平台移动开发工具 允许您使用 C 和 NET 创建适用于 iOS
  • UISegmentedControl 中的自定义字体禁用调整FontSizeToFitWidth

    我已经为我的 UISegmentedControl 设置了自定义字体 但它似乎禁用了默认字体自动调整字体大小以适合宽度范围 Before After 这是我用来设置自定义字体的代码 UISegmentedControl segmentedC
  • 编码的 nsdata utf8 json,在 ios 中带有重音字符

    我向网络服务器发出一个发布请求 该服务器用 JSON 回答我 这是响应的标头 Cache Control private Content Length 826 Content Type application json charset ut
  • 在 Swift 中获取 UIImage 的主颜色

    我正在尝试在 Swift 中获取 UIImage 的主颜色 并尝试移植这段代码 https stackoverflow com questions 13694618 objective c getting least used and mo
  • 保存录制的 AVAudioRecorder 声音文件:现在怎么办? (iOS、Xcode 4)

    在我的应用程序中 我希望用户能够录制一个声音文件并播放它 然后保存该声音文件以供以后使用 我用了本教程 http www techotopia com index php Recording Audio on an iPhone with
  • 将 UITableViewDataSource 与具有子视图的自定义单元格结合使用

    在 UITableView 中使用自定义单元格时 我遇到了奇怪的表格重叠 Problem 向下滚动 最后两行上面画有顶部两行 向上滚动 前两行上面画有下面两行 这是 UITableViewDataSource 的代码 func tableV
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • Swift - 本地通知不会被触发

    我正在 Swift 3 中编码 我只是想发送通知now没有任何延迟或间隔 然而 通知永远不会被触发 这是我的代码 视图控制器代码 import UserNotifications class HomeViewController UIVie
  • 部署目标是什么意思?

    这是我假设的一个非常简单的问题 有人可以告诉我部署目标是什么意思吗 如果我选择 iOS 10 是否意味着只有 iOS 10 的用户才能下载该应用程序 选择较低的部署目标是否不好 另外 继续部署目标 是否不建议在较低的部署目标上运行 假设您已
  • 故事板 - 不支持的配置 8 个冲突的约束

    我正在使用故事板自动布局 我今天在编写警告消息时注意到 MainStoryboard iphone storyboard Unsupported Configuration 8 conflicting constraints 单击警告会进入
  • 从数组中获取随机字符串[重复]

    这个问题在这里已经有答案了 我试图从数组 firstArray 中获取随机字符串并将其打印在 UILabel label 中 我似乎无法弄清楚并且出现错误 感谢您的帮助 我尝试搜索但找不到任何最新的教程 方法 import UIKit cl
  • 如何建立辅助NSSortDescriptor排序键?

    我已成功按排序键对数据进行排序lastName 但我想知道如何排序lastName 然后由firstName 这是我用来排序的代码lastName NSSortDescriptor sortDescriptor NSSortDescript
  • 当应用程序退出活动状态时,MPMovies PlayerViewController 被解雇

    当我将 iPhone 设置为睡眠状态 切换到另一个应用程序等 然后再次返回时 之前的可见内容MPMoviePlayerViewController 提出与presentMoviePlayerViewControllerAnimated 已经
  • UITableview 中的水平和垂直滚动[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 I want to make a lineup for a festival You can see what I want to a

随机推荐

  • 获取 Matplotlib 绘图标签坐标

    我想访问图中的所有标签坐标 例如 我画两条线并显示图例 import matplotlib pyplot as plt plt plot 1 2 label first image plt plot 2 1 label second ima
  • 如果第一个元素是异常,为什么引发元组有效?

    我很难弄清楚这一点 它是关于在 Python 2 7 中引发异常时可能发生的错误 try raise 1 2 3 4 except Exception as ex print ex 这里的消息是 异常必须是旧式类或派生自 BaseExcep
  • Iron Router 数据触发 3 次

    我在 Router Config 上设置了一个带有加载模板的路由器 Router onBeforeAction loading this route clients path clients template clientsAll wait
  • 设置日期标头以降低 SpamAssassin 分数

    我使用了测试服务 verifier port25 com 来检查从我的 PHP 脚本发送电子邮件时发生的情况 由于某种原因 即使启用了 SPF 和 DKIM 它们最终还是出现在我的 GMail 垃圾邮件文件夹中 事实证明 SpamAssas
  • C# - 对基元数组进行排序并跟踪其索引的最快方法

    我需要一个float 待排序 我需要知道旧索引在新数组中的位置 这就是为什么我不能使用Array Sort 管他呢 因此 我想编写一个函数来对数组进行排序 并记住它从哪个索引获取每个值 float input new float 1 5 2
  • 强制变量仅保存某些值

    我正在使用 vs 2012 我有一个简单的字符串属性 string someString public string MyString get return someString 我希望该属性仅保留某些值 这样 当客户端使用此属性时 只能使
  • Amazon SimpleDB 用于开发环境/本地安装

    有没有一种方法 工具可以模拟Amazon的SimpleDB以进行开发 在我的上述探索中 我发现这个工具 http mac wareseeker com Tools simpledb dev 0 1 5 zip 3000833但这是针对 Ma
  • 通过内联汇编操作c变量[重复]

    这个问题在这里已经有答案了 可能的重复 如何访问 c 变量以进行内联汇编操作 https stackoverflow com questions 14617953 how to access c variable for inline as
  • .net core build 生成本地化文件夹

    我有一个使用 net core 2 0 的 web asp net 解决方案 我正在使用以下命令构建它 dotnet publish MySolution sln configuration release output d test ou
  • `new_root.mainloop()` 不会使主窗口无响应

    假设我有这个 tkinter 脚本 import tkinter as tk def callback new root tk Tk new root mainloop print Done root tk Tk button tk But
  • 由于“仅允许安全来源”而无法使用 navigator.geolocation

    自从我使用以下命令创建网站以来 控制台中出现错误navigator geolocation getCurrentPosition 以下 我意识到这会在未来的某个时候引起问题 而且由于我只玩网络开发 所以我并没有太担心 但它现在已经完全搞砸了
  • 无法与 WPA2 android 连接

    我正在使用以下代码与 Android 中的 WPA2 连接 我可以与 WEP 和 WPA 连接 但我只获得 扫描 状态 我无法连接 WPA2 网络 你能告诉我需要进行哪些更改才能使此代码与 wpa2 WiFi 相关吗 private boo
  • SQLite3如何使用索引?

    我正在研究 SQLite3 索引 这是一个表 COMPANY CREATE TABLE COMPANY ID INT PRIMARY KEY NOT NULL NAME TEXT NOT NULL AGE INT NOT NULL ADDR
  • 如何在软件中将两个物理串行端口相互桥接(并记录穿过的数据)?

    基本上 我想将我的计算机放在串行线中间并记录通过它的对话 我正在尝试对这段对话进行逆向工程 并最终模拟对话的一端 我正在尝试做的事情的粗略图 通常 我有这个 Device 1 lt gt Device 2 我想做这个 Device 1 lt
  • 如何为 API 客户端提供端点的最新验证规则?

    在我们的 API 中 我们希望实现允许客户端提取验证规则的解决方案 同步验证规则和 您的密码应该是 8 100 个符号 等字段下的任何有用文本将很有用 例如 当客户端请求注册验证规则时 API 使用以下 JSON 进行响应 email ht
  • 未找到具有有效 http:// 前缀的活动(浏览器)

    所以我的应用程序出现了异常 如下所示 android content ActivityNotFoundException No Activity found to handle Intent act android intent actio
  • 在 web.config 中设置要加载的 DLL 的位置

    是否可以在 web config 中设置要加载的特定 DLL 的本地文件路径位置 而不是将这些 DLL 放在 GAC 中或C Windows System32 这将使部署 Web 服务变得更加容易 而不必搞乱其中任何一个 我已经尝试将 DL
  • 有什么方法可以为函数指针比较生成警告吗?

    我花了很长时间才发现我的代码中有一个错误被触发 OPT ICF Because OPT ICF 可以导致相同的地址被分配给不同的函数或只读数据成员 使用 Gy 编译的 const 变量 它可能会破坏依赖于函数或只读数据成员的唯一地址的程序
  • Git 挂钩脚本可以与存储库一起管理吗?

    我们想要制作一些我们都可以共享的基本钩子脚本 用于预格式化提交消息之类的事情 Git 有钩子脚本 通常存储在
  • Xcode 6 链接器错误 - 架构 armv7 的未定义符号

    升级到 Xcode 6 beta 7 现在仍然使用 Xcode 6 GM 后 我无法链接我的 Swift 应用程序 我收到如下错误 架构armv7的未定义符号 swift stdlib compareNSStringDeterministi