升级到xcode 3.2.3 for iphone app后链接器错误

时间:2010-06-22 06:53:30

标签: iphone xcode linker

我刚刚升级到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:

有什么想法吗?

更新:

似乎第三方库正在引发问题。其中包括admob,quattro和Google Analytics的库。只有admob更新了他们的库,所以必须删除其他库

5 个答案:

答案 0 :(得分:2)

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

按照Sim的建议检查框架,但看起来很好。

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

Edit2:还有一条线索,这表明其他一些海报都在正确的轨道上:在我的项目“群组和文件”列表中,我的所有框架都以红色文字显示。然而,如果我检查其中任何一个,则选中目标复选框。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我会尝试重新安装XCode。

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

从终端使用:

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

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

答案 4 :(得分:0)

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