關(guān)于Xcode編譯C++ 代碼報(bào)錯(cuò) iostream not found的問題

前段時(shí)間因?yàn)閷W(xué)習(xí)音視頻,從網(wǎng)上找了些c++的代碼,拷貝下來后發(fā)現(xiàn)編譯報(bào)錯(cuò)。


image.png

奇怪,iostream不是c++的標(biāo)準(zhǔn)庫里面的么,怎么還會(huì)找不到。
網(wǎng)上查了下,很多文章說是C++標(biāo)準(zhǔn)庫的選擇問題, 由于xcode10之后把C++標(biāo)準(zhǔn)庫從libstdc++改為了libc++導(dǎo)致的, 在build setting 的C++ Standard Library里面修改就可以解決。 但是實(shí)操下來發(fā)現(xiàn)并不能解決問題,因?yàn)椴恢缽哪膫€(gè)版本開始, build setting里面就已經(jīng)沒有C++ Standard Library 這個(gè)選項(xiàng)了。

這條路不行,那就繼續(xù)嘗試其他方法, 有說在system header search path里面添加c++標(biāo)準(zhǔn)庫的路徑可以解決問題的,我試了下發(fā)現(xiàn)也沒有用。

又有人說OC與C++混編,需要修改文件類型為m++,但是我這個(gè)文件里面沒有OC的代碼,改為m++肯定是沒用的。但是給了我一個(gè)方向,就是嘗試修改文件類型。 于是嘗試修改文件類型,發(fā)現(xiàn)改為c++ source之后,編譯成功了,看來這個(gè)問題是之前創(chuàng)建文件的時(shí)候選的是C,但是里面內(nèi)容是C++的,編譯器把c++代碼當(dāng)成了c的代碼去編譯,沒有鏈接c++標(biāo)準(zhǔn)庫導(dǎo)致。 為了避免后續(xù)再出錯(cuò),最好是把文件的后綴名也改下,c改為cpp, h改為hpp,這樣編譯器就不會(huì)認(rèn)錯(cuò)了。

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

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

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