iOS 百度地圖 有關(guān)OC和C++混編造成其它類錯誤的問題(Compile Sources As Objective-C++)

?????? 項目導(dǎo)入百度地圖SDK在配置環(huán)境出現(xiàn)錯了,在這記錄一下

?????? 相信有的朋友在使用百度地圖api的時候,添加lib庫也會遇到類似的問題, 百度提供兩種方法:(靜態(tài)庫中采用Objective-C++實現(xiàn),因此需要您保證您工程中至少有一個.mm后綴的源文件(您可以將任意一個.m后綴的文件改名為.mm),或者在工程屬性中指定編譯方式,即在Xcode的Project-> Edit Active Target -> Build Setting 中找到 Compile Sources As,并將其設(shè)置為"Objective-C++")

百度地圖SDK 是用C/C++編寫的,所以導(dǎo)入這個SDK庫到新項目中,程序需要有以下設(shè)置才能不會報錯

如果設(shè)置? Compile Sources As 為Objective-C++

Compile Sources As 為Objective-C++

.a靜態(tài)庫文件都能編譯通過,但是問題是,如果項目中引用到了其它的第三方庫文件,可能會產(chǎn)生錯誤,如下圖所示:

其他第三方報錯

解決方法就是:

1,在Xcode的Project-> Edit Active Target -> Build Setting 中找到 Compile Sources As,切換回According to File Type,這樣能保證其它的第三方庫、以及之后可能添加的不同類型源碼文件都沒有問題.

2,使用百度地圖提供的第二種, 保證您工程中至少有一個.mm后綴的源文件(您可以將任意一個.m后綴的文件改名為.mm)

這樣就OK了

如果你只是用百度地圖沒有使用其他.a靜態(tài)庫, 那就沒有這個問題,其他使用是用C/C++編寫的編寫的SDK 應(yīng)該也會有同樣的問題.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容