Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_BriefMainModel", referenced from:
objc-class-ref in BriefMainViewController.o
"_OBJC_CLASS_$_DDXMLDocument", referenced from:
objc-class-ref in BriefDetailViewController.o
objc-class-ref in BriefMainViewController.o
"_OBJC_CLASS_$_BriefDetailModel", referenced from:
objc-class-ref in BriefDetailViewController.o
"_OBJC_CLASS_$_MKNetworkEngine", referenced from:
objc-class-ref in BriefDetailViewController.o
objc-class-ref in BriefMainViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture i386:
“_OBJC_CLASS_$_XXX”, referenced from:
objc-class-ref in XXX
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果真機調試就是 undefined symbols for architecture armv7錯誤!
發生這種錯誤通常是project.pbxproj這個文件引起的,尤其在多人合作開發的時候,svn提交不規范可能導致project.pbxproj發生錯誤,導致文件的引用不在project.pbxproj文件中。
xcode項目import文件會根據project.pbxproj來查找,查找不到文件的引用則會有上述的錯誤。
解決方法點擊工程,在主界面中點擊Build Phases,根據提示信息“XXX”來判斷缺少什么文件,一般如果缺少自定義的文件,Complie Sources下沒有XXX文件,那么就在Complie Sources中加入該文件。如果缺少類庫,則在Link Binary With Libraries中加入該類庫。