【问题标题】:Linker errors after upgrade to xcode 3.2.3 for iphone app升级到适用于 iphone 应用程序的 xcode 3.2.3 后的链接器错误
【发布时间】:2010-06-22 06:53:29
【问题描述】:

我刚刚升级到 XCODE 3.2.3 并将我的基础 sdk 从 3.0 升级到 3.2 iphone sdk。完成此操作后,我开始收到一堆链接错误,几乎没有任何信息,这就是我得到的:

".objc_class_name_CATransition", referenced from:

".objc_class_name_NSObject", referenced from:

".objc_class_name_NSFileManager", referenced from:

".objc_class_name_NSString", referenced from:

".objc_class_name_NSError", referenced from:

".objc_class_name_CABasicAnimation", referenced from:

".objc_class_name_NSOperation", referenced from:

".objc_class_name_CJSONDeserializer", referenced from:

".objc_class_name_UIWindow", referenced from:

".objc_class_name_NSException", referenced from:

".objc_class_name_UIColor", referenced from:

".objc_class_name_CATransaction", referenced from:

".objc_class_name_CLLocationManager", referenced from:

".objc_class_name_MPMoviePlayerController", referenced from:

".objc_class_name_NSMutableSet", referenced from:

".objc_class_name_UIFont", referenced from:

".objc_class_name_NSFileHandle", referenced from:

".objc_class_name_MFMailComposeViewController", referenced from:

".objc_class_name_CAKeyframeAnimation", referenced from:

".objc_class_name_UIImage", referenced from:

".objc_class_name_UIApplication", referenced from:

".objc_class_name_UILabel", referenced from:

".objc_class_name_UIView", referenced from:

".objc_class_name_CLLocation", referenced from:

".objc_class_name_NSMutableString", referenced from:

".objc_class_name_CJSONSerializer", referenced from:

".objc_class_name_NSTimer", referenced from:

".objc_class_name_NSValue", referenced from:

".objc_class_name_NSMutableData", referenced from:

".objc_class_name_NSNumber", referenced from:

"_objc_exception_match", referenced from:

".objc_class_name_UINavigationItem", referenced from:

".objc_class_name_UIViewController", referenced from:

".objc_class_name_NSMutableArray", referenced from:

".objc_class_name_UIScreen", referenced from:

".objc_class_name_NSHTTPCookieStorage", referenced from:

".objc_class_name_MKPinAnnotationView", referenced from:

".objc_class_name_NSNotificationCenter", referenced from:

"_OBJC_CLASS_$_QWAdView", referenced from:

".objc_class_name_NSProcessInfo", referenced from:

".objc_class_name_UITableViewCell", referenced from:

".objc_class_name_CAAnimationGroup", referenced from:

".objc_class_name_NSInvocation", referenced from:

".objc_class_name_NSURL", referenced from:

".objc_class_name_NSSet", referenced from:

"_objc_exception_extract", referenced from:

".objc_class_name_UISearchBar", referenced from:

".objc_class_name_NSMutableURLRequest", referenced from:

".objc_class_name_NSRunLoop", referenced from:

".objc_class_name_NSData", referenced from:

".objc_class_name_NSDate", referenced from:

".objc_class_name_UIBarButtonItem", referenced from:

".objc_class_name_UITableView", referenced from:

".objc_class_name_NSURLRequest", referenced from:

".objc_class_name_NSOperationQueue", referenced from:

".objc_class_name_UIActionSheet", referenced from:

".objc_class_name_UIDevice", referenced from:

".objc_class_name_MKMapView", referenced from:

".objc_class_name_UIToolbar", referenced from:

".objc_class_name_NSXMLParser", referenced from:

".objc_class_name_NSHTTPCookie", referenced from:

".objc_class_name_UIImageView", referenced from:

".objc_class_name_CAMediaTimingFunction", referenced from:

".objc_class_name_NSScanner", referenced from:

"_objc_exception_try_exit", referenced from:

".objc_class_name_NSDateFormatter", referenced from:

".objc_class_name_UIAccelerometer", referenced from:

"_objc_exception_try_enter", referenced from:

".objc_class_name_NSCharacterSet", referenced from:

".objc_class_name_UIScrollView", referenced from:

".objc_class_name_UIButton", referenced from:

".objc_class_name_UINavigationBar", referenced from:

".objc_class_name_UIAlertView", referenced from:

".objc_class_name_NSUserDefaults", referenced from:

".objc_class_name_NSThread", referenced from:

".objc_class_name_NSPropertyListSerialization", referenced from:

"_OBJC_CLASS_$_GANTracker", referenced from:

".objc_class_name_NSMutableDictionary", referenced from:

".objc_class_name_CALayer", referenced from:

".objc_class_name_UIWebView", referenced from:

".objc_class_name_NSBundle", referenced from:

".objc_class_name_NSURLConnection", referenced from:

".objc_class_name_NSAutoreleasePool", referenced from:

".objc_class_name_UIPageControl", referenced from:

".objc_class_name_NSAssertionHandler", referenced from:

".objc_class_name_MKAnnotationView", referenced from:

".objc_class_name_NSDictionary", referenced from:

".objc_class_name_NSLocale", referenced from:

".objc_class_name_NSArray", referenced from:

".objc_class_name_UIActivityIndicatorView", referenced from:

"_OBJC_CLASS_$_AdMobView", referenced from:

有什么想法吗?

更新:

似乎是第 3 方库导致了这些问题。其中包括用于 admob、quattro 和 Google Analytics 的库。只有 admob 更新了他们的库,因此必须删除其他库

【问题讨论】:

    标签: iphone xcode linker


    【解决方案1】:

    同样的问题。编译模拟器时出现大量链接错误;设备工作正常。

    按照 Sim 的建议检查了框架,但看起来不错。

    编辑:所有问题似乎都与预编译的 3rd 方库有关(在我的情况下,这意味着 Facebook Three20.a 库和 Occipital 的 libRedLaserSDK.a)。有人知道我是否需要使用为 4.0 重新编译的那些库的版本,或者是否有其他修复?

    Edit2:还有一条线索,表明其他一些海报走上了正轨:在我的项目“组和文件”列表中,我的所有框架都显示为红色文本。但是,如果我选中其中任何一个,则会选中目标复选框。

    【讨论】:

    • 你是对的。就我而言,Facebook 旧 sdk 正在制造问题
    【解决方案2】:

    我不知道为什么在您升级时突然开始发生这种情况,但是这些链接错误意味着您的链接行缺少一些框架。查看完整的编译器输出将非常有帮助(展开构建结果中的脚本以获得此信息)。

    根据未定义的符号,似乎缺少 QuartzCore、Foundation、MediaPlayer、UIKit 等。我通过在 iPhone 开发者网站中搜索缺失的符号(例如“NSOperation”)来解决这个问题。每个函数的文档都列出了定义函数的框架。

    【讨论】:

    • 上面的输出是我所能得到的(如果我尝试扩展脚本没有任何反应)
    【解决方案3】:

    检查 Frameforks 检查新的构建目标。选择 UIkit.framework -> 获取信息并检查常规和目标选项卡

    【讨论】:

      【解决方案4】:

      我会尝试重新安装 XCode。

      首先备份您的 /Developer 文件夹,然后执行这些步骤。

      从终端使用:

      sudo /Developer/Library/uninstall-devtools --mode=all
      

      要卸载 XCode 和 iPhone SDK,然后在完成此操作后删除 /Developer 文件夹,以确保已从系统中彻底删除 XCode 和 iPhone SDK。之后重新安装 Xcode。

      【讨论】:

        【解决方案5】:

        几天前我遇到了同样的问题,但对我来说,只是重新启动 Xcode 修复了它,我可以毫无问题地构建我的应用程序。不过,我不知道是什么导致了这种情况的发生。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-12-11
          • 1970-01-01
          • 2011-03-18
          • 1970-01-01
          • 1970-01-01
          • 2014-04-15
          • 1970-01-01
          相关资源
          最近更新 更多