【问题标题】:xcode 4.5 : Undefined symbols for architecture armv7s:xcode 4.5:架构 armv7s 的未定义符号:
【发布时间】:2012-10-04 15:07:25
【问题描述】:

我完全为那个问题发疯了.. 我有一个工作正常的项目,但是在我添加了 facebook sdk 之后,它给了我以下错误(这些错误让我删除了 armv6,希望它之后能正常工作,但它在我经历它时会带来更多问题.. 我现在一起使用arch armv7和armv7s,这就是它给出的错误

/Users/ME/Library/Developer/Xcode/DerivedData/Cocktail-gfjrrmcunekvfiacogqdfcxliqfg/Build/Intermediates/Cocktail.build/Debug-iphoneos/Cocktail.build/Objects-normal/armv7/Cocktail normal armv7 cd "/Users/ME/Apple DistributedApps/Cocktail All/Cocktail" setenv IPHONEOS_DEPLOYMENT_TARGET 4.3 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 armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6。 0.sdk -L/Users/ME/Library/Developer/Xcode/DerivedData/MyProj-gfjrrmcunekvfiacogqdfcxliqfg/Build/Products/Debug-iphoneos "-L/Users/ME/Apple DistributedApps/MyProj All/MyProj" -F/Users/ ME/Library/Developer/Xcode/DerivedData/MyProj-gfjrrmcunekvfiacogqdfcxliqfg/Build/Products/Debug-iphoneos "-F/Users/ME/Apple DistributedApps/MyProj All/MyProj" -filelist /Users/ME/Library/Developer/Xcode/ DerivedData/MyProj-gfjrrmcunekvfiacogqdfcxliqfg/Build/Intermediates/MyProj.build/Debug-iphoneos/MyProj.build/Objects-normal/armv7/MyProj.LinkFileList -dead_strip -ObjC -all_load -lxml2 -lsqlite3.0 -fobjc-arc -fobjc- link-runtime -miphoneos-version-min=4.3 -framework AdSupport -framework Social -framework SystemConfiguration -framework MapKit -framework CoreLocation -framework Twitter -framework Assets库 -framework MobileCoreServices -framework CoreVideo -framework CoreMedia -lz -lsqlite3.0 -framework AddressBook -framework CFNetwork -framework CoreFoundation -framework Security -framework iAd -framework MessageUI -framework QuartzCore -framework AudioToolbox -framework MediaPlayer -framework AVFoundation -framework CoreGraphics -框架 UIKit -framework Foundation -framework FacebookSDK -framework RevMobAds -lFlurryAnalytics -o /Users/ME/Library/Developer/Xcode/DerivedData/MyProj-gfjrrmcunekvfiacogqdfcxliqfg/Build/Intermediates/MyProj.build/Debug-iphoneos/MyProj.build/Objects-正常/armv7/MyProj

    Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_ACAccountStore", referenced from:
      objc-class-ref in FacebookSDK(FBSession.o)
  "_SKStoreProductParameterITunesItemIdentifier", referenced from:
      -[RevMobStoreController openStoreWithITunesItemId:] in RevMobAds(RevMobStoreController.o)
  "_ACFacebookAudienceFriends", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_OBJC_CLASS_$_SKStoreProductViewController", referenced from:
      objc-class-ref in RevMobAds(RevMobStoreController.o)
  "_OBJC_CLASS_$_GADBannerView", referenced from:
      objc-class-ref in NewsViewController.o
      objc-class-ref in SportsViewController.o
      objc-class-ref in LecViewController.o
      objc-class-ref in AccViewController.o
      objc-class-ref in JokesViewController.o
      objc-class-ref in GamesViewController.o
      objc-class-ref in CaricViewController.o
      ...
  "_ACFacebookAppIdKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_ACAccountTypeIdentifierFacebook", referenced from:
      +[FBSession renewSystemAuthorization] in FacebookSDK(FBSession.o)
  "_ACFacebookAudienceKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_ACFacebookAudienceOnlyMe", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_kGADAdSizeSmartBannerPortrait", referenced from:
      -[NewsViewController shouldAutorotateToInterfaceOrientation:] in NewsViewController.o
      -[SportsViewController viewDidLoad] in SportsViewController.o
      -[LecViewController viewDidLoad] in LecViewController.o
      -[AccViewController viewDidLoad] in AccViewController.o
      -[JokesViewController viewDidLoad] in JokesViewController.o
      -[GamesViewController viewDidLoad] in GamesViewController.o
      -[CaricViewController viewDidLoad] in CaricViewController.o
      ...
  "_OBJC_CLASS_$_GADRequest", referenced from:
      objc-class-ref in NewsViewController.o
      objc-class-ref in SportsViewController.o
      objc-class-ref in LecViewController.o
      objc-class-ref in AccViewController.o
      objc-class-ref in JokesViewController.o
      objc-class-ref in GamesViewController.o
      objc-class-ref in CaricViewController.o
      ...
  "_ACFacebookPermissionsKey", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
  "_CGSizeFromGADAdSize", referenced from:
      -[NewsViewController shouldAutorotateToInterfaceOrientation:] in NewsViewController.o
      -[SportsViewController viewDidLoad] in SportsViewController.o
      -[LecViewController viewDidLoad] in LecViewController.o
      -[AccViewController viewDidLoad] in AccViewController.o
      -[JokesViewController viewDidLoad] in JokesViewController.o
      -[GamesViewController viewDidLoad] in GamesViewController.o
      -[CaricViewController viewDidLoad] in CaricViewController.o
      ...
  "_ACFacebookAudienceEveryone", referenced from:
      -[FBSession authorizeUsingSystemAccountStore:accountType:permissions:defaultAudience:isReauthorize:] in FacebookSDK(FBSession.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

  • 您似乎使用了不包含 armv7s 切片的预编译静态库。您粘贴的文本不包含错误,您应该给我们正确的输出。
  • 对不起,我已经编辑它以显示错误
  • 好的,这是 Facebook SDK。您是使用编译库(类似于 facebook.a)还是直接使用 FB SDK 源文件?如果您使用源文件,您应该再次清理并构建您的项目。如果没有,你应该使用源文件。
  • 我正在使用 FacebookSDK.framework,我已经创建了一个干净整洁的构建文件夹,但什么也没发生
  • 好的,我已经添加了(account.framework),所有的 facebook 错误都消失了。现在我遇到了 admob 和 revmob 的问题。现在怎么办?

标签: iphone ios6 armv7


【解决方案1】:

作为临时解决方案,您可以从 Xcode 项目的架构中删除 armv7s。将“$(ARCHS_STANDARD_32_BIT)”更改为“armv7”。当库更新时,更改回重新添加 armv7s 支持。

【讨论】:

    【解决方案2】:

    Facebook sdk 不是为 armv7s 编译的,但是你可以自己编译

    看看 Liam nichols 在这里的回答

    https://developers.facebook.com/bugs/107674376052717/

    从 git hub 页面下载源代码副本 (facebook git hub) 打开 xcode 项目并在构建设置中将架构更改为 armv7、armv7s 关闭项目 导航到 /scripts 并在终端中运行 ./build_all.sh 编译完成后,您可以在 builds/FacebookSDK.framework 中找到该框架

    【讨论】:

      【解决方案3】:

      valid architectures 部分中删除armv7s,它将起作用。

      构建设置 --> 架构 --> 有效架构

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多