2010-06-22 133 views
3

我刚刚升级到XCODE 3.2.3并将我的基本sdk从3.0升级到了3.2版本的sdk。这样做后,我开始得到一堆链接错误,几乎没有任何信息,这里是我得到的:升级到xcode 3.2.3 for iphone应用程序后的链接器错误

".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: 

任何想法?

更新:

看起来像第三方库引起的问题。这些包括admob,quattro和Google Analytics的图书馆。只有admob已经更新了他们的库,因此将不得不删除其他库

回答

2

同样的问题。编译模拟器时链接错误的次数;设备工作正常。

由Sim建议检查框架,但看起来不错。

编辑:所有的问题似乎与预编译的第三方库(在我的情况下,这意味着Facebook Three20.a库和Occipital的libRedLaserSDK.a)。任何人都知道我是否需要使用4.0版重新编译的库,或者如果有另一个修复程序?

编辑2:还有一条线索,这表明其他一些海报正处于正确的轨道上:在我的项目“Groups & Files”列表中,我的所有框架都以红色文本显示。然而,如果我检查其中的任何一个,则检查目标复选框。

+0

你说得对。在我的情况下,Facebook老sdk正在创建问题 – 2012-01-30 11:18:37

0

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

1

我不知道为什么当你升级时突然开始发生,但这些链接错误意味着你的链接线缺少一些框架。看到完整的编译器输出会非常有帮助(在构建结果中展开脚本以获取此内容)。

看起来像QuartzCore,Foundation,MediaPlayer,UIKit和其他缺失,基于未定义的符号。我通过在iPhone开发人员网站中搜索缺失的符号(例如“NSOperation”)来解决这个问题。每个函数的文档列出了定义函数的框架。

+0

上述输出是我所能得到的(如果我尝试扩展成绩单,则什么都不会发生) – aloo 2010-06-22 17:23:29

0

我会尝试重新安装XCode。

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

从终端使用:

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

卸载Xcode和iPhone的软件开发工具包,然后删除/开发者文件夹,你已经这样做了之后,确保Xcode和iPhone的SDK已经被干净地去除您的系统。之后重新安装Xcode。

+0

这不适合我。 – aloo 2010-06-22 22:14:51

0

几天前我有同样的问题,但对于我刚刚重新启动Xcode修复它,我可以建立我的应用程序没有任何问题。不过,我不知道究竟是什么导致了这种情况发生。