工程中用到了 MarqueeLabel 第三方,如今集成導航功能時發現libbaiduNaviSDK.a也有用到MarqueeLabel這個第三方,只不過改爲BNMarqueeLabel.git
如今第三方庫中若是用到的其餘第三方的文件基本都會重命名(避免相同文件名會形成符號衝突),通常不會出現出現符號連接錯誤,個別狀況就是(文件雖然重命名可是裏面的 全局變量並非static 類型)ui
eg:百度導航demo(SDKv3.1.0) 與 MarqueeLabel 出現 符號衝突spa
把_kMarqueeLabelAnimationCompletionBlock前面的下劃線去掉而後進行全局搜索:blog
解決方法:ip
在 kMarqueeLabelAnimationCompletionBlock 添加static關鍵字rem
思路:找到衝突的*.O文件所在靜態庫,在庫中刪除便可.
參考連接:http://atnan.com/blog/2012/01...get
修改TARGETS->Build Setting->Other Linker Flags 添加: -force_load 靜態庫在工程中的路徑(這種方法能夠解決上面兩種問題)it
注意添加的時候先添加libbaiduNaviSDK.a的依賴庫,否則會報錯.io
參考連接:
http://atnan.com/blog/2012/01...
https://www.gitbook.com/book/...class