【问题标题】:Clang Error in XCodeXCode 中的 Clang 错误
【发布时间】:2012-09-20 18:22:57
【问题描述】:

我的应用在 xcode 4.4.1 中运行良好,但我刚刚更新到 4.5,现在遇到了 clang 错误。甚至不知道它在说什么,以前有没有人经历过这种情况,或者可以阐明我如何修复它?这是确切的错误:

Ld /Users/natehamilton/Library/Developer/Xcode/DerivedData/LCBCChurch-hacgcivdmhbavlecueatfvjbekxn/Build/Intermediates/LCBCChurch.build/Debug-iphoneos/LCBCChurch.build/Objects-normal/armv7s/LCBCChurch normal armv7s
    cd "/Users/natehamilton/Desktop/Current Projects/Work/Projects/Mobile App/LCBCChurch"
    setenv IPHONEOS_DEPLOYMENT_TARGET 5.1
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -L/Users/natehamilton/Library/Developer/Xcode/DerivedData/LCBCChurch-hacgcivdmhbavlecueatfvjbekxn/Build/Products/Debug-iphoneos -F/Users/natehamilton/Library/Developer/Xcode/DerivedData/LCBCChurch-hacgcivdmhbavlecueatfvjbekxn/Build/Products/Debug-iphoneos -F/Users/Shared/Cordova/Frameworks -filelist /Users/natehamilton/Library/Developer/Xcode/DerivedData/LCBCChurch-hacgcivdmhbavlecueatfvjbekxn/Build/Intermediates/LCBCChurch.build/Debug-iphoneos/LCBCChurch.build/Objects-normal/armv7s/LCBCChurch.LinkFileList -dead_strip -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak_library /usr/lib/libSystem.B.dylib -fobjc-link-runtime -miphoneos-version-min=5.1 -framework Foundation -framework UIKit -framework CoreGraphics -framework AddressBook -framework AddressBookUI -framework AudioToolbox -framework AVFoundation -framework CoreLocation -framework MediaPlayer -framework QuartzCore -framework SystemConfiguration -framework MobileCoreServices -framework CoreMedia -framework Cordova -o /Users/natehamilton/Library/Developer/Xcode/DerivedData/LCBCChurch-hacgcivdmhbavlecueatfvjbekxn/Build/Intermediates/LCBCChurch.build/Debug-iphoneos/LCBCChurch.build/Objects-normal/armv7s/LCBCChurch

ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/Shared/Cordova/Frameworks/Cordova.framework/Cordova for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

  • 您使用的是哪个 Cordova 版本?
  • 此时我使用的是 2.0。但我尝试过 8.1、9.0 + 2.0,但它们都不适合我。

标签: ios xcode cordova


【解决方案1】:

将“仅构建活动架构”更改为是,它会起作用 :) 干杯!

【讨论】:

  • 太棒了,这对我有用。现在,我对这一点有了更多的了解,这实际上做了什么。我想确保我支持较旧的设备以及较新的设备。这是我切换此选项后某些设备无法工作的问题吗?
  • 这不是意味着你正在削减 armv7/s 架构吗?
  • 很棒的小费伙伴。工作:)
【解决方案2】:

armv7s 架构是 iPhone 5 中使用的新处理器类型。看起来您的 Cordova 框架尚未更新以支持该新处理器,因此当 clang 将 Cordova 链接到您的 iPhone 5 应用程序时二进制文件,它不能成功。您需要获取 Cordova 的更新。

【讨论】:

  • 尝试更新,但似乎并没有解决我的问题。我什至还尝试过开始一个新项目。它适用于模拟器(ios6),但不适用于我在 ios 6 上的 iphone 4。有什么想法吗?
  • 我还没有自己解决这个问题,但是看看issues.apache.org/jira/browse/…。他们提出了解决方案。
  • 模拟器可以工作,因为它使用i386 架构而不是ARM 变体。我可能会误认为这个问题是特定于硬件的——我对各种低级问题并不十分熟悉——但听起来这个问题就是你想要关注的问题。
【解决方案3】:

我通过在我的项目和引用的 CordovaLib 项目的“构建设置”的“有效架构”字段下添加对各种架构的引用来实现它。附上截图。 (我使用 Xcode 来完成此操作,而不是按照 Jira 案例中某人的建议在文本编辑器中编辑 pbxproj 文件)。

唯一需要注意的是,此方法需要 Cordova 2.0+,因为这是第一个引用 Cordova 项目和源代码的版本。您需要使用这些设置构建 Cordova。如果您使用的是以前的版本并且不想升级,则必须获取源代码并通过对架构构建设置的此更改自行构建它。

更多信息:https://issues.apache.org/jira/browse/CB-1360

【讨论】:

  • 这最终成为我花时间将我的应用升级到 2.0 的足够动力。
【解决方案4】:

我还没有解决任何问题,但一些开发人员通过this url 取得了成功

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 2014-10-21
    • 2015-11-24
    相关资源
    最近更新 更多