一、庫文件丟失
如果提示的文件是庫文件,比如說是sdk的文件,有可能是就是丟失,或者沒有引用到該工程。
1.點擊這個.a庫,或者framework,看右邊的target里面是否引用到了當前的target工程
2.看build Phases里面是否添加了要使用的庫,如果是紅色就是缺失了
3.看build settings里面的Framework Search Paths和Library Search Paths里面的路徑是否包含了當前的庫文件
二、cpp或.mm等源文件沒有添加
這個和庫丟失差不多,就是報的錯是一個類的功能沒有,這時可以看Build Phases選項里面的Compile Sources里面是否包含了這個報錯的類的.cpp或者.mm文件,同樣也可以直接點這個文件,看右側是否加入當前使用的target選項里面
三、cpp或者.mm文件加多了
除了上面說的是因為沒有添加報錯的,還有一種是報的錯的那個文件你就沒有使用到
比如這個HMSDKController是沒有使用的,是其他的target才使用的,這時就可能是源文件加多了,把它從Build Phases選項里面的Compile Sources里面去掉,或者點擊這個源文件,取消勾選這個target就可以了。
四、庫文件不支持64位編譯
如果開頭就是這種報錯
Undefined symbols for architecture arm*64
這種的,那就有可能是你引用的這個庫文件不支持64位編譯,解決或者測試方法就是把build setting選項里面的Valid Architectures里面的arm64去掉,不讓編譯64位的
后期如果再遇到其他的再補充了,關鍵就是找好路徑和文件
---
本文由胡東東博客整理,轉載請注明本文標題和鏈接
本文標題: 《Xcode報referenced from錯誤的總結》
本文鏈接: http://www.hudongdong.com/bug/271.html


