build.sh ios 在使用 XCode6 Beta6 时生成"Undefined symbols for architecture armv7"



在从github新签出realm 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)

有已知的变通方法吗?

这是一个问题w/DerivedData有cruft从beta5。通过完全删除DerivedData,然后重新运行构建,它解决了我的问题。

了不起的Realm团队提醒我,在测试版本之间删除DerivedData文件夹总是一个好主意。

考虑到Xcode6-Beta6昨天才发布,Realm还没有更新以支持它。使用XCODE_VERSION=6 sh build.sh ios构建Realm目前需要Xcode6-Beta5。

你可以监控Realm的GitHub repo (github.com/realm/realm-cocoa),看看Xcode6-Beta6何时被支持。应该是今天或明天。

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

相关内容

最新更新