Apple Mach-O-Linker(ID)错误

问题描述:

我在我现在正在处理的项目中添加了一个名为RootViewController的现有类。该项目第一次编译,但第二次我试图运行它马赫 - 连接器错误弹出。我没有更改任何代码,所以我不知道什么是错的。我知道这个错误通常是因为缺少框架,但我很确定我包含了我需要的所有框架。Apple Mach-O-Linker(ID)错误

这里是日志:

Ld /Users/myusername/Library/Developer/Xcode/DerivedData/coredataproject-dhlbawbtzwdgohaczdnalonzhnhs/Build/Products/Debug-iphonesimulator/coredataproject.app/coredataproject normal i386 
cd /Users/myusername/Desktop/coredataproject 
setenv MACOSX_DEPLOYMENT_TARGET 10.6 
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/myusername/Library/Developer/Xcode/DerivedData/coredataproject-dhlbawbtzwdgohaczdnalonzhnhs/Build/Products/Debug-iphonesimulator -F/Users/myusername/Library/Developer/Xcode/DerivedData/coredataproject-dhlbawbtzwdgohaczdnalonzhnhs/Build/Products/Debug-iphonesimulator -filelist /Users/myusername/Library/Developer/Xcode/DerivedData/coredataproject-dhlbawbtzwdgohaczdnalonzhnhs/Build/Intermediates/coredataproject.build/Debug-iphonesimulator/coredataproject.build/Objects-normal/i386/coredataproject.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -framework CoreLocation -framework MapKit -o /Users/myusername/Library/Developer/Xcode/DerivedData/coredataproject-dhlbawbtzwdgohaczdnalonzhnhs/Build/Products/Debug-iphonesimulator/coredataproject.app/coredataproject 

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_RootViewController", referenced from: 
     objc-class-ref in FirstViewController.o 
     objc-class-ref in AppDelegate.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我已经寻找好几个小时试图找到一个缺失的环节或引用,但我看不出什么毛病。 任何帮助将不胜感激。

+0

它看起来像AppDelegate和FirstViewController引用不在您的项目中的RootViewController。您添加的现有类是否也需要RootViewController? – mttrb 2012-04-12 02:15:01

+0

对不起,我应该更具体。 RootViewController是我添加的现有类,所以它绝对存在。 – michael03m 2012-04-12 02:20:01

+0

它绝对好像是没有被编译到你的项目中的RootViewController。你有没有尝试做一个清洁,然后重建项目? – mttrb 2012-04-12 02:26:08

我刚修好它。我将代码从RootViewController中复制出来,完全删除.h和.m文件,创建新文件并将名称更改为RootViewController并将代码粘贴回来。然后编译它。