1.使用VSCode时发现头文件报错:
检测到 #include 错误。请考虑更新 compile_commands.json 或 includePath。
解:在 c_cpp_properties.json 中配置了两个地方,
一是在"includePath"中添加了一个存放我IDF框架的目录:
"D:/ESP-IDF/Espressif/Espressif/**"(切记根据自己的存放位置写,并且后面的**非常关键)
二是在 "defines": [ "_DEBUG", "UNICODE","_UNICODE"], 后加上
"compileCommands": "${workspaceFolder}/build/compile_commands.json"
这里加上如果报错的话看看defines结束后是否有“,”(英文)
2.在官方给的例程中,有些例程导入进VSCode后,build会报错
解:问题出在CMakeList.txt文件中,在学习CMake语法后可以解决该问题,但是这里如果想用,可以在官方的IDE中build一遍,或者在下载官方ESP-IDF框架后出现的命令行(ESP-IDF CMD)中build。后面再去VSCode中build也可以成功,适用于习惯用VSCode编写程序并且写程序使用官方example并修改的小伙伴。
3.Something went wrong while trying to build the project
解:是的,在出现这个错误时有很多种情况,常见报错:
ninja: error: loading 'build.ninja': 绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆?
FAILED: build.ninja
大多都是因为 CMakeList.txt 的配置问题,所以在没有改动当前程序的情况下,可以试试问题2的解决办法。
4.ESP-IDF框架的路径改动,在VSCode中build和头文件都会报错
解:点开settings->找到扩展设置->找到ESP-IDF的设置,在里面有路径的部分检查是否与改动后的路径不同(优先修改工作区)。
5.编译器编译例程时报错Error: could not find CMAKE_PROJECT_NAME in Cache
解:这种编译开始就结束的报错,一般都要去看一下工程的CMakeList.txt文件,看不懂也没关系,但是里面的依赖路径要可以分辨,检查路径所在的文件是否可以查到。比如这个错误就是因为找不到../../components路径,如下图
检查发现自己导入的例程中找不到CMakeList.txt指引的文件,将上两级文件夹包括进来就可以build了(../是上一级,所以../../要返回两级找)。或者将这个找到的文件夹复制一份在导入的项目中,再修改路径就可以了。
---------------------------------------------------------------------------------------------------------------------------
待更新...后续有问题再加进来