常見鏈接錯誤

常見鏈接錯誤

閱讀原文

編譯鏈接的時候報錯税产,算是初學(xué)者遇到的比較頭疼的問題之一了。現(xiàn)在總結(jié)一下洋腮,在項目中遇到了鏈接錯誤烁涌。

1.“OBJC_CLASS$_xx” 錯誤

Undefined symbols for architecture i386:
"OBJC_CLASS$_ASIdentifierManager", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

分析:看錯誤提示,沒有找到ASIdentifierManager這個文件牺蹄,可能是我們沒有倒入相關(guān)的框架忘伞,或者缺少相應(yīng)的文件(頭文件、實現(xiàn)文件等等)。

解決辦法:我們需要看看工程中有沒有相應(yīng)的實現(xiàn)文件氓奈、頭文件匿刮,或者看看有沒有倒入相關(guān)的框架。
例如本例探颈,缺少了相應(yīng)的框架熟丸,導(dǎo)入AdSupport.framework ,編譯成功伪节。

2.“OBJC_CLASS$_xx” 錯誤

這個看起來跟第一個一樣光羞,但是我們把第一個錯誤中的解決辦法都嘗試了之后,發(fā)現(xiàn)還是編譯不成功怀大,這時候心中就一萬匹草泥馬纱兑,呼嘯而過了。例如:

Undefined symbols for architecture x86_64:
"OBJC_CLASS$_PPAppPlatformKit", referenced from:
objc-class-ref in libPlugin25PP.a(IAPOnline25PP.o)
objc-class-ref in libPlugin25PP.a(PPWrapper.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

死活找不到原因化借,重新閱讀潜慎,相關(guān)的接入文檔,發(fā)現(xiàn)模擬器不能運行蓖康,只有真機才能運行铐炫。認真閱讀接入文檔很關(guān)鍵啊K夂浮5剐拧!

因此OBJC_CLASS$_xx” 錯誤泳梆,最后的解決辦法鳖悠,看看是否是要求只能在真機或者模擬器上才能運行。這類錯誤一般再介入別人的sdk的時候比較常見优妙。

3.“duplicate symbol xx”錯誤

分析:字面意思乘综,我們項目中的xx(文件名、類名套硼、全局變量名稱)有重復(fù)出現(xiàn)的情況卡辰。
解決辦法: 仔細察看工程,刪除或者修改熟菲,提示中出現(xiàn)的xx看政。
常見錯誤的情況:同時介入好幾個sdk的時候,不同的sdkyou相同的文件名抄罕,類名,全局變量名等等于颖。因此呆贿,制作sdk的時候,最重要的就是因該再我們的類中,文件中做入,統(tǒng)一加上前綴冒晰,防止別人使用的時候出現(xiàn)沖突。

duplicate symbol xx 示例

4."clang: error: -fembed-bitcode is not supported on versions of iOS prior to 6.0" 錯誤

解決辦法:解決辦法:在build setting里面設(shè)置查找“enable_bitcode”,并且改為NO

5.運行時候崩潰竟块『耍“Terminating app due to uncaught exception 'NSGenericException', reason: Collection <__NSArrayM: 0x615c6a0> was mutated while being enumerated”

原因: 遍歷數(shù)組的過程中對它里面的數(shù)據(jù)進行了修改,不能使用for in 或者枚舉器法 遍歷(可以把遍歷的結(jié)果保存下來浪秘,等遍歷完成之后進行修改)蒋情, 因該使用for循環(huán)來進行 。即耸携,我們在遍歷數(shù)組的時候棵癣,不能對它進行修改之類的操作,不然鬼知道會發(fā)生什么事情夺衍。(我理解的大概就是這個意思)

6.在使用c++ 的string類的時候狈谊,出現(xiàn)鏈接錯誤:

string_link_error.png

分析:看樣子是直接找不到std::string 這個用法了,在我的調(diào)用string類的方法中沟沙,說明使用的這個string庫有問題河劝。所以嘗試解決一下Xcode工程中配置的c++ 的標準庫.

解決辦法:在當前工程的TARGET中在Build Settings搜索lib , 找到C++ Standadr Libary ,libc++(支持c++11的那一個)矛紫,有時候可能是Compiler Default丧裁。然后問題完美解決!

7.Symbol not found: _ NSDictionary0 ___

Referenced from:
/private/var/mobile/Cotainers/Bundle/Applecation/xxxxxx

Expected in:
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
in /private/var/mobile/Containers/Bundle/Applecation/xxxxx

Symbol not found.png

分析:工程中找不到相應(yīng)的系統(tǒng)庫含衔,可能發(fā)生在工程運行在較低版本的手機系統(tǒng)中煎娇,會報錯。

解決辦法: 首先查看贪染,工程中有沒有添加CoreFoundation.frameowrk 缓呛,這個動態(tài)庫,如果有的話杭隙,可以嘗試把CoreFoundation.framework 的Status由Required改為Optional

未完待續(xù)哟绊,希望小伙伴們繼續(xù)補充!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痰憎,一起剝皮案震驚了整個濱河市票髓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铣耘,老刑警劉巖洽沟,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蜗细,居然都是意外死亡裆操,警方通過查閱死者的電腦和手機怒详,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踪区,“玉大人昆烁,你說我怎么就攤上這事《懈冢” “怎么了静尼?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長传泊。 經(jīng)常有香客問我鼠渺,道長,這世上最難降的妖魔是什么或渤? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任系冗,我火速辦了婚禮,結(jié)果婚禮上薪鹦,老公的妹妹穿的比我還像新娘掌敬。我一直安慰自己,他們只是感情好池磁,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布奔害。 她就那樣靜靜地躺著,像睡著了一般地熄。 火紅的嫁衣襯著肌膚如雪华临。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天端考,我揣著相機與錄音雅潭,去河邊找鬼。 笑死却特,一個胖子當著我的面吹牛扶供,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播裂明,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼椿浓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闽晦?” 一聲冷哼從身側(cè)響起扳碍,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仙蛉,沒想到半個月后笋敞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡捅儒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年液样,在試婚紗的時候發(fā)現(xiàn)自己被綠了振亮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巧还。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡鞭莽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出麸祷,到底是詐尸還是另有隱情澎怒,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布阶牍,位于F島的核電站喷面,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏走孽。R本人自食惡果不足惜惧辈,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望磕瓷。 院中可真熱鬧盒齿,春花似錦、人聲如沸困食。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硕盹。三九已至符匾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瘩例,已是汗流浹背啊胶。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留垛贤,地道東北人焰坪。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像南吮,于是被迫代替她去往敵國和親琳彩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉部凑,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,726評論 0 9
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,290評論 25 707
  • ios 常見問題解決 一露乏,libxml/HTMLparser.h file not find 第一種方法: 點擊左...
    rlqs閱讀 3,857評論 0 1
  • 一,libxml/HTMLparser.h file not find 第一種方法:點擊左邊項目的根目錄涂邀,再點擊右...
    幻想no現(xiàn)實閱讀 7,988評論 1 8
  • 人生路漫長瘟仿,我們每個人都是這條路上的行人,只不過是各有各的方向比勉。要談人生夢想實現(xiàn)了幾個劳较,只能是在這條路上我們能有...
    一路芬芳伴著花開閱讀 179評論 0 0