other linker flags

<iOS>other linker flags

包含靜態庫時候需要在Target的Other linker flags裏面加上值:-objC,-all_load,-force_load

對於64位機子和iPhone OS應用

解決方法是使用-all_load 或者 -force_load。

-all_load強迫鏈接器從它能看見的所有文檔中加載所有的對象文件,甚至那些沒有OC代碼的文檔。

-force_load適用於Xcode3.2+版本,它允許finer得到文檔加載的控制。每一個-force_load操作必須跟着一個文檔路徑,文檔中的每一個對象文件將會被加載。

 

-all_load就是會加載靜態庫文件中的所有成員,

-ObjC就是會加載靜態庫文件中實現一個類或者分類的所有成員,

-force_load(包的路徑)就是會加載指定路徑的靜態庫文件中的所有成員。

 

舉個例子

當鏈接一個包含類別的OC靜態庫時候,將會得到一個運行時異常:"selector not recognized"。你需要設置Other Linker Flags的值爲-ObjC就OK了

發佈了76 篇原創文章 · 獲贊 13 · 訪問量 65萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章