RT-thread studio 中關(guān)于 C++ 使用不了標(biāo)準(zhǔn)庫的解決方法

在 rtthread studio 中,使用 C++ 的標(biāo)準(zhǔn)庫里,會(huì)出現(xiàn)報(bào)錯(cuò),fatal error: bits/c++config.h: No such file or directory

這是因?yàn)槠?bits/c++config.h 并不是和其標(biāo)準(zhǔn)庫文件放在同一相對位置內(nèi)。

那么我們試看下其標(biāo)準(zhǔn)庫的目錄結(jié)構(gòu)。

首先找到,RT-Thread Studio 的安裝目錄,然后找到其工具鏈的位置。

${studio_folder}/repo/Extract/ToolChain_Support_Packages/ARM/GNU_Tools_for_ARM_Embedded_Processors/5.4.1/arm-none-eabi

明顯,studio 使用的是 arm-gcc 工具鏈。接下來,我們找到 C++ 的標(biāo)準(zhǔn)庫目錄。

./include/c++/5.4.1

這里面放的是標(biāo)準(zhǔn)庫文件。很容易看到里面存在一個(gè) bits 文件夾。但可惜的是里面沒有 c++config.h 這個(gè)頭文件。

不要?dú)怵H,我們再找下,發(fā)現(xiàn)里面有個(gè)文件夾,名字叫做 arm-none-eabi 。居然含有 bits ,而且還真在里面找到這個(gè)缺失的文件。

========================== 解決方法 ==========================

打開構(gòu)建配置

image.png

然后在 C++ 的 Include 下加入這個(gè)搜索路徑。

image.png

========================== 疑惑 ==========================

我對比過 mingw64 下的 gcc 結(jié)構(gòu),和 arm-gcc 一樣,把這類文件放到一個(gè) x86* 的目錄下。猜其應(yīng)是也 CPU 的架構(gòu)有關(guān),換言之,就是把標(biāo)準(zhǔn)庫里非跨平臺(tái)的部分放在這。

但問題是使用 mingw 時(shí)不用額外聲明這個(gè)搜索路徑。

猜測原因是,電腦端的 gcc 固定的運(yùn)行架構(gòu),故相應(yīng)軟件已經(jīng)默認(rèn)添加了這個(gè)路徑。而作為嵌入式的編譯器,或許為了處理不同類型架構(gòu),所以就交由用戶自行聲明。

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

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

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