-來自收藏總結 綜合了好多的常見錯誤
1:clang failed with exit code 254
一:檢測代碼中 是否 有 nslog 列印了 傳回 void 的值.
2:verify exit code of build task with internal identifier ‘copypngfile 123.png‘
一:将出錯的png,用photoshop重新轉換一次, 如果photoshop打不開,改字尾為jpg 試試. 轉換時,請使用 :存儲為web或裝置所使用的格式格式轉換成 png-24這樣的圖檔大小比較合适
3:
一:确定靜态庫中是否有自定義的類檔案,如果一個也沒有,就會出現這種錯誤,這也是為什麼建立的靜态庫都包含一個預設的類.
4: _objc_class_$_uimainkpixml", referenced from:
1:檢測類檔案是否已經指定了project target
2:檢測類檔案是否在bulid phases 中的 compile
source 是否包含了這個類檔案
以上兩步都檢查完成以後,如果編譯還報錯誤,請嘗試徹底關閉xcode 再次編譯試試.
5: for architecture armv7s
以下摘自:
yes you are right about armv7s is about the iphone 5. here some summary info i found on the web:
armv6 isa (used by the arm11 core in the iphone 2g and iphone 3g)
armv7 (used by modern arm cores, iphone 3gs, iphone 4 and 4s)
armv7s (new a6 soc for iphone 5).
注:錯誤含義表示 指定的framework 不支援對 armv7s 的支援, 也就不支援搭載a6處理器的iphone 5.
如果在編譯framework或者靜态庫的工程中依舊編譯時,可能是以下設定導緻,設定為no即可
6: local declaration of ‘‘ hides instance variable
1:私有變量與屬性變量同名所緻
7:instance variable ‘‘ accessed in class method
1:在靜态方法不能使用到類的屬性變量,否則就報上面的錯誤
8:ld: symbol(s) not found for architecture i386
1:裡面意思說:"_stroyboard" 這個屬性在目标類中 根本就沒聲明!
那就聲明一下咯? 注:xcode4.5 會預設聲明了,但是隻是針對自定義類,系統類還沒有. 是以,小心
@synthesize storyboard;
9:performselector may cause a leak because its selector is unknown
通過如下代碼解決産生的編譯器警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-warc-performselector-leaks"
[self performselector:nextview];
#pragma clang diagnostic pop
來源:()
10:unable to open executable
1:檢測同一個靜态庫或工程中是否有兩個或以上的想同類檔案存在
2:删除模拟器中的應用,删除deriveddata檔案夾 重新啟動xcode.
11: property‘s synthesized getter follows cocoa naming convention for returning ‘owned‘ objects
不要在頭檔案聲明變量命名是以new copy開頭
參考:
12:ld: file not found:
1:指向的靜态庫沒有找到
14: _utf8_counttrailbytes
add library libicucore.dylib
15:stray "@" in program
工程使用的編譯器版本過低所緻. 修改編譯器版本至最新版本,如下圖:
1.将build settings 中architectures ——> valid architectures的arm64删掉,隻留armv7、armv7s
2.同上,将architectures ——>architectures改為 $(arhs_standard)armv7,armv7s
3.把build active architecture only 改為no
4.編譯即可
17.編譯時出現:not supported arm architecture
解決辦法:在./configure
時加入 -d__arm_arch_5tej__
另外一篇:
本文一直更新希望大家踴躍回複自己知道的常見error 來參與本文的更新^_^