ios開發之duplicate symbol for architecture x86_64 錯誤

1、錯誤提示

       在咱們開發iOS中常常會遇到這樣的一個錯誤提示:
       xcode

 2、查找分析


     經過xcode的給咱們的提示可以看到這幾個關鍵字:duplicate 和 symbols,經過有道翻譯原來
duplicate 是重複、複製的意思,symbols是符號的意思,所以可以想到本身的工程中可能引入了重複的東西。框架

3、解決問題


    像這種錯誤信息,我總結了一下,有三種狀況:


    1.在工程中重複導入相同的文件。

         通常就是,一樣的第三方框架你導入了兩次,或者是你導入了兩個相同的類文件以下圖所演示,我導入了兩個QkHero類文件:

錯誤提示:

你們有可能會問項目中那麼多文件怎麼知道是哪一個?別急,上圖我用紅方框給你圈住的就是重複導入的類文件。仔細看看你的錯誤信息中是否出現了你熟悉的類文件。有重複的類把它刪掉就OK了spa

     二、引入頭文件錯誤

          引入頭文件錯誤就是在工程中#import "xxx.h" 寫成了 #import"xxx.m".就是將.h文件錯引入成了.m文件如演示圖:
     

錯誤提示:

找到這個頭文件把它改爲.h文件就OK了翻譯

     三、全局變量的命名重複

           此問題就是當前的類文件中的全局變量或者是枚舉與引入的類文件有命名衝突,如圖所示:
   



 錯誤提示:
code

  我在viewcontroller中和QKHero 中分別定義了全局變量name, 編譯後出現以上錯誤提示:duplicate symbol for architecture x86_64,你們細心的童鞋可以發現我用紅色框和藍色框分別框住了兩個不一樣的類,viewcontroller和QKHero, 對!沒錯,就是他們兩個文件有着相同的全局變量名稱。只需把它們的變量名稱改一下就OK了。開發

      好了,以上就是小編碰到的問題總結了一下,若是你還碰到了不一樣的錯誤,請歡迎聯繫小編。我會努力改進。
      請不要「讚我」 ,「評論我」 我會「驕傲」的。 😄😄😄😄😄😄it

相關文章
相關標籤/搜索