1. 程式人生 > >IOS報錯解決(一) ------ Undefined symbols for architecture armv7錯誤

IOS報錯解決(一) ------ Undefined symbols for architecture armv7錯誤

 

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中加入該類庫。

我的問題是 :

原先嚐試ios二維碼掃描時使用easy scan程式碼沒有刪除乾淨,但是dll被刪除了,卡了好久,記錄一下

 

順便提一下 :

我一直找不到錯誤資訊,導致我一直無法解決這個問題,好像控制檯輸出只有在執行過程中才能看到,對於我這個打包都打不出來的。。。。最後一通亂找

轉自 : https://www.cnblogs.com/zxykit/p/5165857.html