0·ESPIDF搭建VScode環(huán)境踩坑記(找不到頭文件)-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)建站長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蓬安企業(yè)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、網(wǎng)站制作,蓬安網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

環(huán)境搭建

簡(jiǎn)單記錄下自己遇到的問(wèn)題:

①找不到頭文件

②Cmake插件出現(xiàn)問(wèn)題

小結(jié)

環(huán)境搭建

整體的環(huán)境搭建,網(wǎng)絡(luò)上還是有很多教程的,這里就不重復(fù)造輪子了,可以參考下面的鏈接

【ESP32-IDF環(huán)境搭建之vscode環(huán)境】

官方也有出一個(gè)指導(dǎo)教程,可以作為輔助參考,基本還是比較順暢的

快速入門(mén) ESP編程指南

我選擇的是ESP IDF + VScode,具體環(huán)境也可以用?ESP IDF+Espressif IDE?的官方套件組合,又或者是?Arduino+VScode?的開(kāi)放生態(tài)環(huán)境進(jìn)行開(kāi)發(fā)

樂(lè)鑫官方 ESP-IDF,這是官方的首推的開(kāi)發(fā)方式,能夠大限度發(fā)揮ESP32的性能,代價(jià)就是不方便或者說(shuō)是開(kāi)發(fā)不是那么高效;

樂(lè)鑫官方出品 Arduino core for the ESP32,官方出品的 Arduino 編程軟件支持,上手簡(jiǎn)單,大部分編程語(yǔ)法和 Arduino 兼容,借助于 Arduino 生態(tài),有非常豐富的資源可直接使用

每個(gè)組合各有各的優(yōu)勢(shì),可以根據(jù)自己的開(kāi)發(fā)習(xí)慣來(lái)選擇。

環(huán)境搭好之后,可以去跑下例程,如果是默認(rèn)安裝路徑的話,在下面這個(gè)位置應(yīng)該可以找到“hello world”文件夾

C:\Espressif\frameworks\esp-idf-v4.3.2\examples\get-started

用vscode—打開(kāi)文件夾—hello world,然后選擇COM和esp模塊,打開(kāi)hello_world_main.c就可以編譯和下載了,注意vscode最下方工具欄

簡(jiǎn)單記錄下自己遇到的問(wèn)題: ①找不到頭文件

一般來(lái)說(shuō),初次編譯完后,裝了C/C++插件之后會(huì)有一個(gè)自動(dòng)提示,然后點(diǎn)擊“是”之后就自動(dòng)解決了

但是我的就一直沒(méi)有出現(xiàn)(可能是版本不同)網(wǎng)上也沒(méi)有找到很好的解決方法

半夜,問(wèn)了一位大佬,他說(shuō):

不需要任何插件,查看-命令面板-點(diǎn)擊“添加vscode配置文件夾”,左下角點(diǎn)擊?垃圾箱??清理一下,重新編譯即可解決找不到頭文件的問(wèn)題。?

然后C/C++插件彈出了自動(dòng)配置的提示,然后成功解決!

然而,非常難過(guò)的是,過(guò)了一天,換了一個(gè)例程,又出現(xiàn)這個(gè)問(wèn)題了,而且此方法居然失效了~又看了十幾個(gè)貼子,嘗試了各種方法:

  1. 先在Cmakelist中添加路徑
    EXTRA_COMPONENT_DIRS += $(PROJCT_PATH)/components/blink
  2. 又嘗試在.json文件中添加PATH路徑
    "C:/Espressif\frameworks/esp-idf-v4.3.2/components/**“
  3. 加了一個(gè)component文件夾,手動(dòng)將官方idf一堆頭文件中將用到的文件拖到了同一個(gè)層級(jí)的根目錄文件夾中(其他頭文件都識(shí)別出來(lái)了,但是freertos頭文件死活識(shí)別不出來(lái),也不能跳轉(zhuǎn)到定義)
  4. 更換頭文件命名方式?因?yàn)槔汤锩娴?include用的“? ”索引方式,可能出現(xiàn)頭文件覆蓋問(wèn)題,說(shuō)不定因?yàn)橹芭渲眠^(guò)stm32,導(dǎo)致出現(xiàn)了的錯(cuò)誤識(shí)別。
  5. 刪掉.vscode文件夾,清除build文件,然后重啟。寄希望于觸發(fā)系統(tǒng)自動(dòng)配置條件,獲得正常流程中的彈窗選項(xiàng)(可是并沒(méi)有出現(xiàn))
  6. ...

以上方法,有些帶來(lái)了一點(diǎn)效果(但也不完全),又觸發(fā)了新的bug,由于理解尚淺,無(wú)法直擊要害,只能先mark一下,以后熟練了再搗鼓。估摸著是是版本或者系統(tǒng)問(wèn)題,別人的C/C++插件都會(huì)自動(dòng)彈出選項(xiàng)、系統(tǒng)自動(dòng)找到頭文件路徑,但是到了我這就需要一通操作,難道這臺(tái)筆記本真的和ESP IDF無(wú)緣了嗎?難道我就要換種方案了嗎?

忽然想起來(lái),昨天不是有個(gè)能跑起來(lái)的嗎?(不知道怎么觸發(fā)但是能夠自動(dòng)內(nèi)聯(lián)到esp-idf的頭文件)那為什么不把昨天的研究一下,看看系統(tǒng)自動(dòng)配置是怎么解決問(wèn)題的。然后發(fā)現(xiàn),系統(tǒng)彈出選項(xiàng)后的.json文件是不一樣的,如下面的代碼塊:

//先使用 control+shift+p 搜索并點(diǎn)擊:C/C++編輯配置(JSON)
//然后會(huì)發(fā)現(xiàn)出現(xiàn)了.vscode文件夾
//使用下面的代碼替換 c_cpp_properities.json 文件里面的代碼

{
    "configurations": [
        {
            "name": "ESP-IDF",
            "compilerPath": "C:\\Espressif\\tools\\riscv32-esp-elf\\esp-2021r2-8.4.0\\riscv32-esp-elf\\bin\\riscv32-esp-elf-gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "includePath": [
                "${config:idf.espIdfPath}/components/**",
                "${config:idf.espIdfPathWin}/components/**",
                "${config:idf.espAdfPath}/components/**",
                "${config:idf.espAdfPathWin}/components/**",
                "${workspaceFolder}/**"
            ],
            "browse": {
                "path": [
                    "${config:idf.espIdfPath}/components",
                    "${config:idf.espIdfPathWin}/components",
                    "${config:idf.espAdfPath}/components/**",
                    "${config:idf.espAdfPathWin}/components/**",
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": false
            }  
        }
    ],
    "version": 4
}

復(fù)制粘貼后,完美解決了,于是將其存為副本,未來(lái)保命使用。

②Cmake插件出現(xiàn)問(wèn)題

按照流程配置好環(huán)境的時(shí)候,一般會(huì)自動(dòng)下載一個(gè)Cmake tools,這個(gè)插件有時(shí)可能會(huì)出現(xiàn)意料之外的錯(cuò)誤,可以在插件里面找到Cmake tools--右鍵 禁用工作區(qū) 再試一下。

小結(jié)

整體的環(huán)境搭建來(lái)說(shuō)還是比較順利的,沒(méi)有遇到非常奇怪的bug,不過(guò)相較于STM32的環(huán)境配置還是要麻煩一些,目前板子還沒(méi)到,所以這兩天先預(yù)熱一下^ ^,下一篇會(huì)對(duì)整理《ESP32-C物聯(lián)網(wǎng)開(kāi)發(fā)實(shí)戰(zhàn)》對(duì)原理和一些基礎(chǔ)的代碼板塊進(jìn)行分析。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁(yè)標(biāo)題:0·ESPIDF搭建VScode環(huán)境踩坑記(找不到頭文件)-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://bm7419.com/article2/ceoiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)微信公眾號(hào)、靜態(tài)網(wǎng)站品牌網(wǎng)站制作、標(biāo)簽優(yōu)化、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)