build.sh ios 使用 XCode6 Beta6 时生成“架构 armv7 的未定义符号”

Posted

技术标签:

【中文标题】build.sh ios 使用 XCode6 Beta6 时生成“架构 armv7 的未定义符号”【英文标题】:build.sh ios generates "Undefined symbols for architecture armv7" when using XCode6 Beta6 【发布时间】:2014-08-19 14:37:24 【问题描述】:

在从 github 重新结帐领域 master 时,我运行以下命令:

XCODE_VERSION=6 sh build.sh ios

这会导致以下错误....

ld: warning: embedded dylibs/frameworks only run on iOS 8 or later
Undefined symbols for architecture armv7:
  "_swift_stdlib_atomicCompareExchangeStrongPtr", referenced from:
      __TFVSs11_StringCore14_claimCapacityfRS_FTSi15minElementWidthSi_TSiVSs14COpaquePointer_ in RLMSwiftSupport.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **


The following build commands failed:
    Ld build/DerivedData/Realm-Xcode6/Build/Intermediates/Realm-Xcode6.build/Release-iphoneos/iOS.build/Objects-normal/arm64/Realm normal arm64
    Ld build/DerivedData/Realm-Xcode6/Build/Intermediates/Realm-Xcode6.build/Release-iphoneos/iOS.build/Objects-normal/armv7/Realm normal armv7
(2 failures)

任何已知的解决方法?

【问题讨论】:

【参考方案1】:

这是一个问题,其中 DerivedData 从 beta5 开始出现问题。通过完全删除 DerivedData 然后重新运行构建,它解决了我的问题。

很棒的 Realm 团队提醒我,在 beta 版本之间删除 DerivedData 文件夹总是一个好主意。

【讨论】:

你刚刚为我节省了数小时拔掉我头上剩下的小头发的时间!!!非常感谢这个!!!顺便说一句,在此处选择您的答案作为有效的答案 - 单击复选标记。【参考方案2】:

鉴于 Xcode6-Beta6 刚刚于昨天发布,Realm 尚未更新以支持它。使用XCODE_VERSION=6 sh build.sh ios 构建 Realm 目前需要 Xcode6-Beta5。

您可以监控 Realm 的 GitHub 存储库 (github.com/realm/realm-cocoa) 以查看何时支持 Xcode6-Beta6。应该是今天或明天。

编辑:请关注PR #814 的进度。

【讨论】:

以上是关于build.sh ios 使用 XCode6 Beta6 时生成“架构 armv7 的未定义符号”的主要内容,如果未能解决你的问题,请参考以下文章

sh build-ios-libjpeg-turbo.sh

我的空 swift 应用程序在部署目标 7.1 的 xcode6-beta 上崩溃

使用 OpenSsl 支持构建 Kivy-ios

启用 sonarscanner 时 Appcenter iOS 构建失败

iOS----------使用 Xcode6或Xcode7配置.pch文件

IOS7.1 SDK可以用XCode6.3吗