1. 程式人生 > >symbol(s) not found for architecture i386 一般解決方法

symbol(s) not found for architecture i386 一般解決方法

iOS 編譯時有時候會出現編譯不過的情況  錯誤描述大致為:symbol(s) not found for architecture i386 

一般情況下是由於庫檔案引用出的問題,檢查你需要使用的庫,是否已經新增到工程裡。

xcode4.0以上新增方法:選擇工程的  TARGETS--->Build Phases--->Link Binary With Libraries 點選“+”圖示新增對應的庫。

混編時也有可能會出現,具體沒有碰到,請參看下面部落格。

以下轉載

-——————————————————————————

http://blog.sina.com.cn/s/blog_65a8ab5d0100zmv3.html

在做iOS豆瓣客戶端的過程中,想要歸類時,把幾個OAtuh中用到的函式以C的形式放到一個檔案中,需要用時就引用,但是在做的過程中,一直出錯,symbol(s) not found for architecture i386 ,編譯link錯誤,查了半天,google裡面有人說,出現這個錯誤大部分是都檔案引用問題,但是木有問題啊,還有人說要檢查標頭檔案路徑。。。但是都對

最後。。。。高潮來了。。。問題竟然是!!!千萬不要用兩個header檔案,我為了省事,建了兩個header檔案,改了一個為.m,結果。。。悲劇了。。。於是老老實實用c,然後把.c改成.m。。。最後編譯過了。。。 切忌啊!!! add —————————— 單獨的 .h檔案,不包含任何庫檔案的,如果在編譯時也出現類似錯誤,可以嘗試一下,新建一個檔案,然後把邏輯程式碼拷貝進來。